Utilizing context-aware sensors and multi-dimensional gesture inputs to efficiently generate enhanced digital images

ABSTRACT

The present disclosure relates to systems, methods, and non-transitory computer readable media that utilize context-aware sensors and multi-dimensional gesture inputs across a digital image to generate enhanced digital images. In particular, the disclosed systems can provide a dynamic sensor over a digital image within a digital enhancement user interface (e.g., a user interface without visual elements for modifying parameter values). In response to selection of a sensor location, the disclosed systems can determine one or more digital image features at the sensor location. Based on these features, the disclosed systems can select and map parameters to movement directions. Moreover, the disclosed systems can identify a user input gesture comprising movements in one or more directions across the digital image. Based on the movements and the one or more features at the sensor location, the disclosed systems can modify parameter values and generate an enhanced digital image.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No.16/440,471, filed on Jun. 13, 2019. The aforementioned application ishereby incorporated by reference in its entirety.

BACKGROUND

Recent years have seen significant improvement in software and hardwareplatforms for editing digital images. Indeed, conventional digital imageediting systems can provide a variety of digital image editing toolsthat allow users to personalize, improve, and transform digital images.For example, conventional digital image editing systems can modify hue,saturation, and brightness of digital images, crop/replace objectsportrayed in digital images, and/or correct imperfections in digitalimages captured by client devices.

Despite these advancements, a number of problems exist with regard toconventional digital image editing systems, particularly in efficiency,flexibility, and accuracy of operation. For example, with regard toefficiency, conventional digital image editing systems requiresignificant time and user interactions to modify digital imageparameters. For example, many conventional digital image editing systemsutilize sliders or similar visual controls to change various parametersof a digital image. Such approaches are indirect, unintuitive, take upvaluable screen real estate, and remove concentration from the digitalimage itself. For example, to modify exposure, contrast, shadows,highlights, and black and white cutoff points, some conventional systemsutilize six separate slider elements. As a result, conventional digitalimage editing systems require excessive user interactions to locate(e.g., navigate various drop-down menus), select, and modify differentsliders (or other individual controls) to generate a modified digitalimage.

In addition, conventional digital image editing systems are inflexible.For example, conventional digital image editing systems do not scalewell to small screens, such as mobile devices. Indeed, because of thescreen space devoted to chrome, drop down menus, sliders, or othervisual user interface controls, conventional digital image systems oftenprovide limited or reduced options on mobile devices (e.g., smartphones). In addition, because of the complexity of interacting withrigid user interface elements to change various digital imageparameters, conventional digital image editing systems are ofteninaccessible to (and unused by) novice users.

Aside from efficiency and flexibility concerns, conventional digitalimage editing systems often generate inaccurate results. Indeed, becauseslider (or other user interface) elements are often difficult to findand intuitively utilize, client devices routinely generate digitalimages that do not accurately reflect desired/requested modifications.For example, to perform a change in brightness of a specific tonalregion (while leaving other tonal regions unmodified) can require aseries of specific changes to a variety of individual sliders. Becauseof the difficulty in precisely entering such modifications, conventionaldigital image editing systems often generate digital images that fail toaccurately reflect desired modifications.

Thus, there are several technical problems with regard to conventionaldigital image editing systems.

SUMMARY

One or more embodiments provide benefits and/or solve one or more of theforegoing or other problems in the art with systems, methods, andnon-transitory computer-readable storage media that utilizecontext-aware sensors and multi-dimensional gesture inputs toefficiently generate enhanced digital images. In particular, in one ormore embodiments, the disclosed systems utilize a digital imageenhancement user interface that does not include slider elements butcontrols multiple parameters of a digital image with intuitivetwo-dimensional gestures entered directly over a digital image.Moreover, the disclosed systems can utilize a dynamic sensor that tracksuser movement relative to the digital image, detects aspects ofunderlying image regions, and reacts to the associated image content togenerate enhanced digital images. By utilizing a dynamic sensor thatdetermines digital image features at a sensor location and utilizinggesture inputs on a digital image to modify corresponding digital imageparameters, the disclosed systems can efficiently, flexibly, andaccurately generate enhanced digital images.

Additional features and advantages of one or more embodiments of thepresent disclosure will be set forth in the description that follows,and in part will be obvious from the description, or may be learned bypractice of such example embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingdrawings in which:

FIG. 1 illustrates an example environment in which a digital imageenhancement system operates in accordance with one or more embodiments;

FIG. 2 illustrates a diagram of a process of generating enhanced digitalimages in accordance with one or more embodiments;

FIG. 3 illustrates a schematic of determining digital image features ata sensor location in accordance with one or more embodiments;

FIG. 4 illustrates determining parameter values from a user inputgesture across a digital image in accordance with one or moreembodiments;

FIG. 5 illustrates selecting parameters to modify based on featuresdetected at a sensor location of a digital image in accordance with oneor more embodiments;

FIG. 6 illustrates modifying parameters specific to a feature detectedin a digital image at a sensor location in accordance with one or moreembodiments;

FIG. 7 illustrates modifying one or more parameters based on a userinput gesture across a digital image and a plurality of styles inaccordance with one or more embodiments;

FIG. 8 illustrates various input modes utilized to generated enhanceddigital images in accordance with one or more embodiments;

FIGS. 9A-9B illustrate a digital image enhancement user interface forgenerating enhanced digital images in accordance with one or moreembodiments;

FIG. 10 illustrates a digital image enhancement user interface forgenerating an enhanced digital image in accordance with one or moreembodiments;

FIG. 11 illustrates a digital image enhancement user interfacetransitioning between displaying a digital image and displaying anenhanced digital image in accordance with one or more embodiments;

FIG. 12 illustrates a schematic diagram of a digital image enhancementsystem in accordance with one or more embodiments;

FIG. 13 illustrates a flowchart of a series of acts for generating anenhanced digital image in accordance with one or more embodiments;

FIG. 14 illustrates a flowchart of a series of acts for generating anenhanced digital image in accordance with one or more embodiments; and

FIG. 15 illustrates a block diagram of an example computing device inaccordance with one or more embodiments.

DETAILED DESCRIPTION

One or more embodiments of the present disclosure include a digitalimage enhancement system that utilizes context-aware sensors andmulti-dimensional gesture inputs over a digital image to efficientlygenerate enhanced digital images. In particular, the digital imageenhancement system can improve digital image editing by utilizing adigital image enhancement user interface without slider controls (orother visual selectable control elements). For example, in someembodiments, the digital image enhancement system utilizesmulti-dimensional gestures across a digital screen portraying a digitalimage to modify parameters of the digital image. Moreover, the digitalimage enhancement system can utilize a dynamic sensor that determinesfeatures of selected locations of a digital image. The digital imageenhancement system can dynamically determine modifications based on theunderlying features together with the multi-dimensional gesture inputsacross the digital image. By utilizing sensors and user input gestureson top of the digital image itself (without intrusive selectablecontrols) the digital enhancement system frees screen real estate toefficiently and flexibly generate accurate digital image modifications.

To illustrate, in one or more embodiments, the digital image enhancementsystem identifies a user selection of a first location (e.g., a sensorlocation) of a digital image within a digital image enhancement userinterface. The digital image enhancement system can analyze the firstlocation of the digital image and identify one or more features of thedigital image at the first location (e.g., hue or objects portrayed atthe first location). In some embodiments, the digital image enhancementsystem detects a user input gesture that includes a movement to a secondlocation of the digital image enhancement user interface. Based on themovement to the second location and the one or more features of thedigital image, the digital image enhancement system can determine amodification of one or more parameters of the digital image. Moreover,the digital image enhancement system can generate an enhanced digitalimage by applying the modification of the one or more parameters withregard to the digital image.

As just mentioned, the digital image enhancement system can utilize auser interface without sliders and other conventional visual selectableelements for modifying digital image parameters. In particular, in oneor more embodiments, the digital image enhancement system can detectuser input gestures that include movement in multiple directions todetermine parameter values for modifying a digital image. To illustrate,the digital image enhancement system can determine a user input gesturethat includes a first movement in a horizontal direction. Based on thefirst movement in the horizontal direction, the digital imageenhancement system can determine a first parameter value (e.g., a changein saturation) for modifying the digital image. Similarly, the digitalimage enhancement system can detect that the user input gesture includesa second movement in a vertical direction. Based on this secondmovement, the digital image enhancement system can determine a secondmodified parameter value (e.g., a change in hue) for modifying thedigital image. Thus, the digital image enhancement system can allow auser to modify one or more parameters of a digital image without havingto navigate and utilize multiple different menus and sliders in amulti-step workflow. Rather, the digital image enhancement system canallow a user to interact directly and intuitively with an image toperform edits.

As discussed above, the digital image enhancement system can alsoutilize a context-aware sensor to determine features of a digital imageand generate enhanced digital images. For example, in one or moreembodiments, the digital image enhancement system provides a transparentsensor for display that follows dynamic user interaction within thedigital image enhancement user interface. In response to a userselection of a sensor location, the digital image enhancement system candetermine features of the digital image at the location. Specifically,the digital image enhancement system can isolate a region of the digitalimage encompassed by the transparent sensor and analyze the region(e.g., utilizing a color analysis model and/or an object identificationmodel). Accordingly, the digital image enhancement system can determinea variety of features, such as color, hue, brightness, saturation, orobjects portrayed in the digital image at the selected location.

Upon utilizing context-aware sensor to identify features at a selectedlocation of the digital image, the digital image enhancement system canutilize the identified features as a basis to modify the digital image.For example, the digital image enhancement system can utilize thefeatures at the sensor location to select parameters and map theparameters to particular aspects of user input gestures. To illustrate,the digital image enhancement system can detect a hue within a selectedregion of a digital image. Based on the detected hue, the digital imageenhancement system can map a first parameter to movement in a horizontaldirection (e.g., map saturation changes to horizontal movement) and mapa second parameter to movement in a vertical direction (e.g., map huechanges to vertical movement). Thus, based on a selected location andintuitive gesture input over a digital image, the digital imageenhancement system can intelligently detect features that a user seeksto modify and modify the digital image without the need to interact withany sliders or other visual controls.

In one or more embodiments, the digital image enhancement system alsoutilizes various modes to provide additional control for modifyingparameters of a digital image. For example, the digital imageenhancement system can utilize different input modes that correspond todifferent parameters and/or features that allow client devices to selectwhat features or parameters to utilize in generating an enhanced digitalimage. To illustrate, the digital image enhancement system can include acolor mode (e.g., that maps hue to a first movement direction andsaturation to a second movement direction), a light mode (e.g., thatmaps brightness to a first movement direction and contrast to a secondmovement direction), a color curve mode (e.g., that maps movementdirections to variables of a color curve), or a structural mode (e.g.,that focuses on detecting and modifying underlying objects or structureportrayed in a digital image), or a style mode (e.g., that blendsbetween pre-defined styles or filters based on user input gesturesacross a digital image). As discussed below, the digital imageenhancement system can utilize a variety of different pre-defined oruser-defined input modes for editing a digital image. Moreover, thedigital image enhancement system can automatically determine an inputmode based on a variety of factors (e.g., based on the digital imagecontent or historical mode usage).

As mentioned above, the digital image enhancement system provides anumber of advantages over conventional systems. For example, byutilizing a context-aware sensor and/or multi-dimensional gesture inputsto generate an enhanced digital image, the digital image enhancementsystem can improve efficiency relative to conventional digital imageediting systems. Indeed, as mentioned above, the digital imageenhancement system can avoid sliders or other visual elements utilizedby conventional systems to modify digital image parameters. The digitalimage enhancement system can utilize a smart sensor to determine whatparameters a user seeks to modify within a digital image. Moreover, thedigital image enhancement system can utilize intuitive two-dimensionalinput gestures on top of the digital image itself to determine how auser seeks modify those parameters. Accordingly, the digital imageenhancement system can significantly reduce the time and the number ofuser interactions to generate enhanced digital images. Indeed, based ona selection and movement over a digital image, the digital imageenhancement system can perform complex modifications that would requiredozens of user interactions with dropdown menus and sliders toaccomplish using conventional systems.

In addition to efficiency improvements, the digital image enhancementsystem is also more flexible than conventional systems. By utilizing adigital image enhancement user interface (that does not include sliders,dropdown menus, chrome elements, or other toolbar elements that take upscreen space or obscure the image), the digital image enhancement systemcan operate seamlessly across different client devices, including mobiledevices (e.g., smartphones or tablets). In addition, by using acontext-aware sensor, the digital image enhancement system can makeflexible modifications specific to the features portrayed in a digitalimage (e.g., specific to objects or colors at a dynamic sensorlocation). Moreover, because the digital image enhancement system doesnot have to rely on various sliders for modifying different parameters,the digital image enhancement system is more accessible to client deviceusers of various skill levels.

Moreover, the digital image enhancement system also improves accuracyrelative to conventional systems. Indeed, by utilizing a sensor andintuitive multi-dimensional inputs, the digital image enhancement systemcan intuitively perform specific, complex modifications to a digitalimage that accurately reflect desired changes. To illustrate, to modifybrightness of a specific tonal range within a digital image (whileleaving other tonal ranges unchanged) utilizing conventional systemswould require users to locate, modify, and balance a plurality ofmultiple sliders (or other user interface elements). Users often fail toidentify and accurately adjust a variety of different visual elements togenerate a desired result. In contrast, the digital image enhancementsystem can perform such a modification based on a selection of alocation that portrays the tonal range in the digital image and a userinput gesture over the digital image itself. Accordingly, the digitalimage enhancement system can generate more accurate digital imageenhancements.

As illustrated by the foregoing discussion, the present disclosureutilizes a variety of terms to describe features and advantages of thedigital image enhancement system. Additional detail is now providedregarding these terms. For example, as used herein, the term “digitalimage” refers to any digital symbol, picture, icon, or illustration. Forexample, the term “digital image” includes digital files with thefollowing, or other, file extensions: JPG, TIFF, BMP, PNG, RAW, or PDF.The term “digital image” also includes one or more images (e.g., frames)in a digital video. Accordingly, although much of the description hereinis phrased in terms of digital images, it will be appreciated that thedisclosure can also apply to editing digital video. Additionally, asmentioned above, the digital image enhancement system can generateenhanced digital images. As used herein, an “enhanced” digital imagerefers to a digital image with modified pixels. For example, an enhanceddigital video includes a digital video where one or more parameters(e.g., hue, brightness, saturation, exposure) have been adjusted,changed, or modified.

As used herein, the term “parameter” (or “digital image parameter”)refers to a visual feature, characteristic, or setting of one or morepixels of a digital image. In particular, a parameter of a digital imageincludes an adjustable characteristic or setting that impacts theappearance of a digital image. For example, a parameter can include hue(e.g., color on a color wheel), saturation (e.g., intensity or purity ofa hue from gray tone to pure color), brightness (e.g., relativelightness or darkness of a color from black to white), contrast (e.g., ameasure of difference between light and dark pixels in a digital image),or exposure (e.g., a scaling in brightness across a digital image).Similarly, a parameter can include shadow parameters (e.g., foradjusting shadows or dark tonal regions of an image), highlightparameters (e.g., for adjusting light tonal regions of an image), blackpoint (e.g., black cut-off point), white point (e.g., white cut-offpoint), vibrance (e.g., a measure of intensity of muted colors asopposed to well-saturated colors), clarity, color temperature, or colortint (e.g., a measure of mixture of color with white). Parameters canalso include adjustable variables in relation to a color curve (e.g.,edit points to modify a curve and/or shadow, highlight, black/white cutoff parameters that impact a color curve).

In one or more embodiments, parameters have corresponding parametervalues. As used herein, a “parameter value” refers to a measure, metric,level, or quantity of a parameter. For example, a hue parameter caninclude a hue value (e.g., a number of a color on a 360 degree colorwheel). Similarly, a saturation parameter can include a saturation value(e.g., a percentage or some other measure of saturation).

As used herein, the term “modification” refers to a change oralteration. In particular, a modification to a parameter includes achange or alteration to a parameter of a digital image. For example, amodification to a parameter includes a change of a parameter value(e.g., a saturation value, brightness value, or hue value). As outlinedin greater detail below, the digital image enhancement system candetermine a modification by selecting one or more parameters to change(e.g., based on features of a digital image) and identifying a newparameter value (e.g., based on different dimensions of a user inputgesture).

As mentioned above, the digital image enhancement system can utilize asensor in generating enhanced digital images. As used herein, a “sensor”(or “context-aware sensor” or “transparent sensor”) refers to a userinterface element that indicates a location or region of a digital imageto be analyzed. In particular, a sensor can include a user interfaceelement that defines a location or region of a digital image withunderlying content analyzed to determine parameters of the digital imageto modify. In some embodiments, the sensor is transparent (i.e.,semi-transparent, in that it reveals or displays a portion of a digitalimage that overlaps with the sensor), such as a transparent circle, thatallows a user to see the underlying digital image while identifying alocation to analyze (i.e., a sensor location).

As mentioned, the digital image enhancement system can analyze a regioncorresponding to a sensor to identify one or more features. As usedherein, “features” of a location of a digital image refers to one ormore visual characteristics portrayed in a region of the digital image.For example, features can include a measure of color (e.g., hue),saturation, or brightness of pixels within a region or location of adigital image. To illustrate, features can include a statisticalmeasure, such as a mean or standard deviation of pixel hue, saturation,and/or brightness within a region. Features can also include a range,such as a range of hues, a brightness range (e.g., a tonal range such asshadow tones, mid-tones, or highlight tones), or a saturation range.Features of a location of a digital image can also include objectsportrayed in the location of the digital image. In some embodiments,features also include other characteristics, such as time (e.g., time ofday, date, or season) or geographic location portrayed in a digitalimage.

As used herein, the term “user input gesture” refers to a userinteraction with a computing device. In particular a user input gesturecan include a user interaction identifying a location in relation to agraphical user interface portrayed on a display screen of a computingdevice. For example, a user input gesture across a digital image (or“over” a digital image or “on” a digital image) can include a swipegesture on a portion of a touchscreen displaying a digital image (e.g.,a swipe gesture that falls within region of a graphical user interfacedisplaying a digital image). In addition to a swipe gesture (via atouchscreen), a user input gesture can include a variety of alternativeuser interactions such as click and/or drag events (e.g., via a mouse),press events, multi-finger swipe events, and/or pinch events. A userinput gesture can also include a non-contact gesture or event (e.g., amotion above a touchscreen or a movement captured by a digital camera).

As mentioned above the digital image enhancement system can determinethat a user input gesture comprises a movement in one or more directions(e.g., dimensions). As used herein, a “movement” refers to a change,difference, or distance between two locations. In particular, a movementof a user input gesture includes a change, difference, or distancebetween a starting location and an ending location. A single user inputgesture can include multiple movements relative to different directions(or dimensions). For example a diagonal swipe gesture includes a firstmovement in a first (e.g., horizontal) direction and a second movementin a second (e.g., vertical) direction.

As used herein, the term “input modes” (or “modes”) refers to a set offeatures and/or parameters corresponding to a user selection and/or userinput gesture. For example, an input mode can indicate a feature toanalyze within a region of a user selection (e.g., an object or acolor). Similarly, an input mode can indicate one or more parameterscorresponding to one or more directions of movement in a user inputgesture. For example, an input mode can indicate that a hue parametercorresponds to a first (horizontal) direction and that a saturationparameter corresponds to a second (vertical) direction.

Additional detail will now be provided in relation to illustrativefigures portraying example embodiments and implementations of thedigital image enhancement system. For example, FIG. 1 illustrates aschematic diagram of an environment 100 for implementing a digital imageenhancement system 110 in accordance with one or more embodiments. Asshown, the environment 100 includes server device(s) 102 connected to aplurality of client devices 104 a-104 n via a network 106 (examples ofwhich will be described in more detail below with respect to FIG. 15).

As shown, the environment 100 may include the server device(s) 102. Theserver device(s) 102 may generate, store, receive, and transmit avariety of types of data, including digital images and enhanced digitalimages. For example, the server device(s) 102 may receive data from aclient device, such as the client device 104 a, and send the data toanother client device, such as the client device 104 b, 104 c, and/or104 n. The server device(s) 102 can also transmit electronic messagesbetween one or more users of the environment 100. In one exampleembodiment, the server device(s) 102 is a data server. The serverdevice(s) 102 can also comprise a communication server or a web-hostingserver. Additional details regarding the server device(s) 102 will bediscussed below with respect to FIG. 15.

As shown, in one or more embodiments, the server device(s) 102 canimplement all or a portion of a digital media management system 108and/or the digital image enhancement system 110. The digital mediamanagement system 108 can collect, store, manage, modify, analyze,and/or distribute digital media. For example, the digital mediamanagement system 108 can receive digital media from the client devices104 a-104 n, store the digital media, edit the digital media, andprovide the digital media to the client devices 104 a-104 n.

The digital media management system 108 and/or the digital imageenhancement system 110 can comprise application(s) running on the serverdevice(s) 102 or a portion can be downloaded from the server device(s)102. For example, the digital image enhancement system 110 can include aweb hosting application that allows the client devices 104 a-104 n tointeract with content hosted at the server device(s) 102. To illustrate,in one or more embodiments of the environment 100, one or more clientdevices 104 a-104 n can access a webpage supported by the serverdevice(s) 102. In particular, the client device 104 a can run a webapplication (e.g., a web browser) to allow a user to access, view,and/or interact with a webpage or website hosted at the server device(s)102.

To provide an illustrative example, in one or more embodiments, theclient device 104 a captures a digital image and transmits the digitalimage to the server device(s) 102. The digital media management system108 (via the server device(s)) can store the digital image. Moreover,the digital image enhancement system 110 can provide a digital imageenhancement user interface for display via the client device 104 a. Thedigital image enhancement system 110 can identify user interactions (viathe client device 104 a) including a selection and user input gesture.In response, the digital image enhancement system 110 can determine amodification to digital image parameters, generate an enhanced digitalimage by applying the modification to the digital image parameters, andprovide the enhanced digital image for display (via the client device104 a).

As just described, the digital image enhancement system 110 may beimplemented in whole, or in part, by the individual elements 102-106 ofthe environment 100. It will be appreciated that although certaincomponents or functions of the digital image enhancement system 110 aredescribed in the previous example with regard to particular elements ofthe environment 100, various alternative implementations are possible.For instance, in one or more embodiments, the digital image enhancementsystem 110 is implemented in whole or in part on the client device 104a. Similarly, in one or more embodiments, the digital image enhancementsystem 110 may be implemented on the server device(s) 102. Moreover,different components and functions of the digital image enhancementsystem 110 may be implemented separately among the client devices 104a-104 n, the server device(s) 102, and the network 106.

Although FIG. 1 illustrates a particular arrangement of the clientdevices 104 a-104 n, the network 106, and the server device(s) 102,various additional arrangements are possible. For example, the clientdevices 104 a-104 n may directly communicate with the server device(s)102, bypassing the network 106. Or alternatively, the client devices 104a-104 n may directly communicate with each other. Similarly, althoughthe environment 100 of FIG. 1 is depicted as having various components,the environment 100 may have additional or alternative components.

As mentioned above, the digital image enhancement system 110 can utilizea context-aware sensor and/or multi-dimensional user input gestures togenerated enhanced digital images. FIG. 2 illustrates an overview ofgenerating an enhanced digital image in accordance with one or moreembodiments. In particular, FIG. 2 illustrates the digital imageenhancement system 110 performing a sequence of acts 202-208.

Specifically, in relation to FIG. 2, the digital image enhancementsystem 110 performs the act 202 of identifying user selection of a firstlocation. For example, as discussed above, the digital image enhancementsystem 110 can provide for display via a digital image enhancement userinterface a digital image and a transparent sensor (i.e., a transparentsensor that appears on the digital image). The digital image enhancementsystem 110 can monitor user interaction with the digital imageenhancement user interface (e.g., mouse movements or movements of afinger on a touchscreen) and modify the location of the transparentsensor. The digital image enhancement system 110 can analyze sensorlocations of the digital image as the sensor moves.

For example, the user can drag a finger to the first location and applya long-touch gesture to activate the sensor at the first location (e.g.,based on the user moving the transparent sensor to a sensor location andapplying a long-touch gesture). To illustrate, the digital imageenhancement system 110 can perform the act 202 by detecting a movementof the transparent sensor to the first location (e.g., a user dragging afinger to the first location) followed by a long click, long press, orforce touch event at the first location. Alternatively, the digitalimage enhancement system 110 can perform the act 202 by detecting touchdown of a user input (e.g., finger, mouse, or stylus) at a firstlocation on the digital image.

As illustrated in FIG. 2, the act 202 can also include detectingfeatures of the digital image at the first location. For example, thedigital image enhancement system 110 can apply a color analysis modeland/or an object identification model to the sensor location. Toillustrate, in some embodiments, the digital image enhancement system110 identifies a region of the digital image based on the transparentsensor (e.g., a window encompassed by the transparent sensor) andanalyzes the region of the digital image to identify features such ascolors or objects portrayed in the region. Additional detail regardingidentifying digital image features utilizing a sensor is provided below(e.g., in relation to FIG. 3). Based on the detected one or morefeatures, the digital image enhancement system 110 can identify one ormore parameters to be modified as described in greater detail below.

Upon performing the act 202, the digital image enhancement system 110can also perform the act 204 of detecting a user input gesturecomprising a movement. For instance, the digital image enhancementsystem can detect a user input gesture that includes a movement from aninitial location to a subsequent location. For example, as mentionedabove, the user input gesture can include a press event at an initiallocation and a drag event (across a path) to a subsequent location. Asshown in FIG. 2, the user input gesture is provided across the digitalimage within the enhancement user interface. Thus, as discussed above,the digital image enhancement system 110 does not need to provide avisual element for receiving the user input gesture. Rather, in relationto FIG. 2, the digital image enhancement system 110 receives the userinput gesture with respect to different locations that display thedigital image within the digital image enhancement user interface.

As illustrated, the user input gesture can include movement(s) in one ormore directions. For example, the digital image enhancement system 110can detect a movement in a horizontal direction. The digital imageenhancement system 110 can also detect a diagonal user input gesture anddecompose the diagonal user input gesture into a first movement in ahorizontal direction and a second movement in a vertical direction.Additional detail regarding analyzing user input gestures to identifymovements and corresponding directions is provided below (e.g., inrelation to FIG. 4).

As shown in FIG. 2, the digital image enhancement system 110 alsoperforms the act 206 of determining a modification to be made based onthe user input gesture. For instance, the digital image enhancementsystem 110 can determine modifications to parameters based on themovement(s) and corresponding direction(s) detected from the act 204.For example, the digital image enhancement system 110 can determine amodification to a first parameter of a digital image based on a firstmovement in a horizontal direction. In addition, the digital imageenhancement system 110 can determine a modification of a secondparameter of the digital image based on a second movement in a verticaldirection. Accordingly, the digital image enhancement system 110 candetermine modified parameter values for different parameters based onmovements in different directions.

In some embodiments, the magnitude of a modification (e.g., themagnitude of change for parameter values) is based on the relativedisplacement of a movement in a particular direction. For example, thedigital image enhancement system 110 can identify a horizontal distancebetween an initial location of a movement and a subsequent location ofthe movement and modify parameter values of a first parameterproportionate to the horizontal distance. In some embodiments, themagnitude of a modification is based on an absolute position within thedigital enhancement user interface. For example, the digital imageenhancement system 110 can map coordinates of the digital enhancementuser interface to parameter values, detect a final position of amovement, and identify parameter values by based on the mapping and thecoordinates of the final position. Additional detail regardingdetermining parameter values from a movement is provided below (e.g., inrelation to FIG. 4).

As illustrated, the act 206 can also include determining a modificationbased on the features of the digital image at the sensor location.Indeed, in some embodiments, the digital image enhancement system 110determines a parameter to modify based on features of the digital imageat the sensor location. For example, the digital image enhancementsystem 110 can identify a hue, saturation, and/or brightness at thesensor location (from the act 202). In response, the digital imageenhancement system 110 can select a modification to a corresponding hue,saturation, and/or brightness. To illustrate, upon detecting a bluecolor at the sensor location, the digital image enhancement system 110can determine a first modification to a saturation parameter for bluecolors within the digital image. Moreover, the digital image enhancementsystem 110 can determine a modification to a hue parameter for bluecolors within the digital image.

Having identified parameters to modify (based on features at the sensorlocation), the digital image enhancement system 110 can determine amagnitude of parameter values based on the user input gesture. Forexample, continuing the previous example, the digital image enhancementsystem 110 can identify a modified saturation value for blue colorswithin the digital image based on movement in a horizontal direction.Moreover, the digital image enhancement system 110 can identify amodified hue value for blue colors within the digital image based onmovement in a vertical direction. In this manner, the digital imageenhancement system 110 can determine a modification of parameters basedon both features at a sensor location and movement directions across adigital image in a digital image enhancement user interface. Additionaldetail regarding identifying parameters and parameters values based on asensor and user input gestures is provided below (e.g., in relation toFIGS. 5-8).

In some embodiments, the digital image enhancement system 110 can alsoselect features and/or parameters to analyze and/or modify based oninput modes. For example, the digital image enhancement system 110 canutilize a plurality of input modes to select particular features totarget and/or parameters to modify. For example, the digital imageenhancement system 110 can utilize a first mode that detects brightnessat a sensor location and modifies brightness (based on movement in ahorizontal direction) and saturation (based on movement in a verticaldirection). Similarly, the digital image enhancement system 110 canutilize a second mode that detects color at a sensor location andmodifies saturation (based on movement in a horizontal direction) andhue (based on movement in a vertical direction). Additional detailregarding different modes is provided below (e.g., in relation to FIG.8).

As shown in FIG. 2, based on determining a modification to be made(e.g., parameters to modify and corresponding parameter values) thedigital image enhancement system 110 can perform an act 208 ofgenerating an enhanced digital image. In particular, the digital imageenhancement system 110 can generate and provide the enhanced digitalimage for display via the digital image enhancement user interface. Thedigital image enhancement system 110 can perform the act 208 bymodifying the digital image in accordance with the parameters andparameter values determined at the act 206. For example, based ondetecting a blue color at the sensor location, a horizontal movement,and a vertical movement, the digital image enhancement system 110 canmodify the color of blue pixels (i.e., modify any pixels that fallwithin a threshold hue range of blue) in the digital image to purple andincrease the saturation of blue pixels. Additional examples ofgenerating enhanced digital images within a digital image enhancementuser interface is provided below (e.g., in relation to FIGS. 9A-11).

The acts described herein (and in relation to FIG. 2) are intended to beillustrative, and are not intended to limit potential embodiments.Alternative embodiments can include additional, fewer, or different actsthan those articulated or illustrated in FIG. 2. For example, in someembodiments prior to the act 202, the digital image enhancement system110 applies a digital image correction algorithm. To illustrate, thedigital image enhancement system 110 can apply a digital imagecorrection algorithm to automatically modify certain parameters (e.g.,brighten a dark image). The digital image enhancement system 110 canthen continue to modify the digital image by performing the acts202-208.

Moreover, the digital image enhancement system 110 can also selectparameters based on applying a digital image correction algorithm. Toillustrate, the digital image enhancement system 110 can apply a digitalimage correction algorithm that automatically adjusts parameters (e.g.,to mimic a “professional” digital image appearance). The digital imageenhancement system 110 can identify (or rank) resulting parameterchanges from applying the digital image correction algorithm. Forexample, the digital image enhancement system 110 can rank parametersbased on a percentage or value of change. The digital image enhancementsystem 110 can utilize the parameter changes from applying the digitalimage correction algorithm to select parameters corresponding tomovements in various directions. For example, based on the rankedparameters from applying the digital image correction algorithm, thedigital image enhancement system 110 can map a first parameter (e.g., ahighest ranked parameter) to a horizontal direction and map a secondparameter (e.g., a second ranked parameter) to a vertical direction.

The digital image enhancement system 110 can also select parametersbased on a variety of other factors. For example, the digital imageenhancement system 110 can select parameters based on content of adigital image or historical usage. To illustrate, the digital imageenhancement system 110 can select a parameter based on frequency of use(e.g., the most-frequently used parameter across one or more users). Thedigital image enhancement system 110 can also select a parameter basedon detecting an object (e.g., modify a brightness parameter upondetecting a flower).

Similarly, although many of the embodiments described in relation toFIG. 2 indicate modifying two parameters based on movements in twodirections, the digital image enhancement system 110 can also modifyadditional parameters based on movement in different directions (or asingle parameter based on movement in a single direction). For example,in some embodiments, the digital image enhancement system 110 can mapfour different directions to four different styles or filters. Thedigital image enhancement system 110 can modify parameters correspondingto the four different styles or filters based on movement correspondingto the four different directions. Additional detail regarding modifyingstyle/filter parameters is provided below (e.g., in relation to FIG. 7).

Moreover, the acts described herein may be performed in a differentorder, may be repeated or performed in parallel with one another, or maybe performed in parallel with different instances of the same or similarsteps/acts. For example, in some embodiments the acts 204-208 can beiteratively repeated as a user performs different movements. Forexample, the digital image enhancement system 110 can dynamicallygenerate a first enhanced digital image based on a movement to alocation and generate an additional enhanced digital image based on anadditional movement to an additional location. In this manner, thedigital image enhancement system 110 can provide real-time dynamicfeedback to a user regarding how modifications and movements impact thevisual appearance of a digital image.

Similarly, the digital image enhancement system 110 can also repeat theacts 202-208 with regard to different sensor locations, differentfeatures, and/or different parameters. For example, the digital imageenhancement system 110 can identify an additional sensor locationselected by a user, determine additional features at the additionalsensor location, identify additional user input gestures, and modifyadditional parameters (based on the additional features and theadditional user input gestures) to generate additional enhanced digitalimages.

As discussed above, in some embodiments, the digital image enhancementsystem 110 utilizes a sensor to identify features at selected locationsof a digital image. FIG. 3 illustrates utilizing a sensor to identifydigital image features in accordance with one or more embodiments.Specifically, FIG. 3 illustrates a computing device 302 with atouchscreen portraying a digital image enhancement user interface 304.In particular, the digital image enhancement user interface 304 portraysa digital image (i.e., an image of foliage) together with a transparentsensor 306.

As illustrated in FIG. 3, the digital image enhancement system 110provides the transparent sensor 306 for display based on userinteraction with the digital image enhancement user interface 304. Inparticular, as a user moves a finger across the touchscreen, the digitalimage enhancement system 110 modifies the location of the transparentsensor 306. In response to selection of a particular location, thedigital image enhancement system 110 can utilize the transparent sensor306 to identify underlying content of the digital image.

For example, as shown in FIG. 3, the user selects a location 306 a ofthe transparent sensor 306. In response, the digital image enhancementsystem 110 identifies digital image content 308. In particular, thedigital image enhancement system 110 identifies a region of the digitalimage corresponding to the transparent sensor 306 (e.g., a regionencompassed by the transparent sensor 306). The digital imageenhancement system 110 identifies the digital image content by isolatingthe digital image based on the region corresponding to the transparentsensor 306. Thus, the digital image enhancement system 110 can utilizethe transparent sensor 306 as a sampling window to identify digitalcontent.

Upon identifying the digital image content 308, the digital imageenhancement system 110 analyzes the digital image content 308 todetermine digital image features. As shown in FIG. 3, the digital imageenhancement system 110 can utilize a color analysis model 310 and/or anobject identification model 314 to determine digital image features 312and/or digital image features 316. In particular, the digital imageenhancement system 110 can determine features such as color, brightness,saturation, object classes and/or object boundaries.

As illustrated, the digital image enhancement system 110 analyze thedigital image content 308 utilizing the color analysis model 310. Thecolor analysis model 310 can include a variety of computer-implementedalgorithms. For example, the color analysis model 310 can includestatistical models that determine color information with regard toindividual pixels and generate various statistical measures. Forexample, the digital image enhancement system 110 can determine color,brightness, and/or saturation of each pixel at the location 306 a andutilize the color analysis model 310 to determine mean, median, mode,variance, range, standard deviation, or skewness of the color,brightness, and/or saturation. The digital image enhancement system 110can utilize these measures as the digital image features 312.

As mentioned above, the digital image enhancement system 110 can alsodetermine features as ranges. For example, the digital image enhancementsystem 110 can determine a color range, a brightness range (e.g., atonal range), and/or a saturation range. To illustrate, the digitalimage enhancement system 110 can utilize the color analysis model 310 todetermine a tonal region (e.g., shadow, highlights, and mid-tones)corresponding to the first region. For example, the digital imageenhancement system 110 can analyze pixels of the digital image content308 and determine a measure of the frequency of particular tones (e.g.,a histogram of pixel tone). The digital image enhancement system 110 canthen determine whether the pixels in the digital image content 308correspond to a particular tonal region. For instance, if a thresholdnumber or percentile of pixels fall within a first range of tones (e.g.,a lower third), the digital image enhancement system 110 can determine ashadow tonal region. Similarly, if a threshold number or percentile ofpixels fall within a second range of tones (e.g., an upper third), thedigital image enhancement system 110 can identify a highlight tonalregion. Similarly, if a threshold number or percentile of pixels fallwithin a third range of tones (e.g., a middle third), the digital imageenhancement system 110 can identify a mid-tone region.

In some embodiments, the color analysis model 310 comprises a machinelearning model (such as a neural network). For example, the coloranalysis model 310 can include a convolutional neural network thatclassifies the digital image content 308 to generate the digital imagefeatures 312. To illustrate, the digital image enhancement system 110can utilize a neural network classifier to determine a predominantcolor, brightness, or saturation for the digital image content 308.

As shown, the digital image enhancement system 110 can also utilize anobject identification model 314 to generate digital image features 316.For example, the digital image enhancement system 110 can utilize theobject identification model 314 to identify object boundaries and/orobject classes based on the digital image content 308.

The object identification model 314 can include a variety ofcomputer-implemented algorithms. For example, in some embodiments, theobject identification model 314 includes a statistical objectidentifier. For example, in some embodiments, the object identificationmodel 314 identifies objects based on statistical color profilescorresponding to particular objects. To illustrate, foliage tends tohave a particular color profile (e.g., average color and standarddeviation of colors). The digital image enhancement system 110 candetect the average color and standard deviation of colors within thedigital image content 308, compare the average color and standarddeviation to a foliage color profile, and determine that the digitalimage content 308 portrays foliage.

In some embodiments, the object identification model 314 includes one ormore machine learning models (e.g., one or more neural networks). Forexample, the object identification model 314 can include a neuralnetwork classifier, such as a convolutional neural network. The digitalimage enhancement system 110 can utilize neural network(s) to determineobject classes and/or object boundaries (e.g., object classification andsegmentation). To illustrate, in some embodiments, the digital imageenhancement system 110 utilizes YOLO (you-only-look-once) objectdetection algorithm.

Although FIG. 3 describes utilizing the color analysis model 310 and theobject identification model 314 to determine particular digital imagefeatures, the digital image enhancement system 110 can utilize a varietyof models to identify a variety of digital image features. For example,in some embodiments, the digital image enhancement system 110 canutilize a geographic location model and/or a time classification modelto generate features that include time (e.g., season, time of day, timeof year, or date) and geographic location.

The color analysis model 310 and/or the object identification model 314can detect, utilize, and/or generate a variety of features. For example,the models can detect shape elements such as line segments and edgeswith various thicknesses and orientations. As mentioned, the coloranalysis model 310 can utilize convolutional neural networkarchitectures (e.g., deep-learning networks) to capture relevant localimage content in the vicinity of the sensor. For example, in someembodiments, the digital image enhancement system 110 utilizespre-trained neural networks. A network trained to recognize objects orto reproduce images (e.g., auto-encoders) may be used. For this purpose,the trained network may be frozen and various hidden neuron activationsused to represent the feature or features of interest. For example, asuch a feature that responds to green, leaf-textured image content coulddrive changes in parameters associated with foliage such as changinggreen hues and changing medium spatial frequency content so as tocontrol leaf sharpness without sharpening noise.

Moreover, although FIG. 3 illustrates the transparent sensor 306 in theform of a transparent circle, the digital image enhancement system 110can utilize a sensor in a variety of different visual forms. Forexample, the digital image enhancement system 110 can utilize a sensorthat is opaque. Moreover, the digital image enhancement system 110 canutilize a sensor that is a different shape, such as a square, oval,rectangle, triangle, or user-defined polygon.

Furthermore, even though FIG. 3 illustrates the digital image content308 matching the region covered by the sensor 306, the digital imageenhancement system 110 can analyze digital image content that does notalign with the area of the sensor 306. For example, in some embodiments,the digital image content 308 is smaller than the area of the sensor 306and in some embodiments the digital image content 308 is larger than thearea of the sensor 306 (e.g., twice as larger as the sensor).

In some embodiments, the digital image enhancement system 110 cananalyze a larger portion (or even the entire digital image) to determinea feature that falls within a location of the sensor. For example, todetermine that a first location includes an object, the digital imageenhancement system 110 can analyze the entire digital image, identifyobjects in the digital image, and determine whether the first locationportrays a portion of one of the identified objects. To illustrate, inrelation to FIG. 3, to determine that the location 306 a of the sensor306 includes a portrayal of foliage, the digital image enhancementsystem 110 can apply the object identification model 314 to a largerportion of the digital image (e.g., the entire digital image). Thedigital image enhancement system 110 can utilize the objectidentification model 314 to identify of the foliage in the digital imageand then determine that the location 306 a overlaps the identifiedfoliage.

As mentioned above, the digital image enhancement system 110 candetermine parameter values based on user input gestures comprisingmovements in one or more directions. In particular, in some embodiments,the digital image enhancement system 110 identifies a relativedisplacement (a relative change between an initial location and asubsequent location) and determines a proportionate change in aparameter value based on the relative displacement. In some embodiments,the digital image enhancement system 110 identifies a movement to alocation and determines a parameter value based on the absolute positionof the location within the user interface (i.e., not relative to thestarting position). For example, FIG. 4 illustrates identifyingparameter values from user input gestures based on relative displacementand absolute position of a movement location in accordance with one ormore embodiments.

Specifically, FIG. 4 illustrates a user input gesture (e.g., a press anddrag gesture) on a computing device 402 having a display screen 404,where the user input gesture includes a movement 406 between an initiallocation 408 a and a subsequent location 408 b. As illustrated, in someembodiments, the digital image enhancement system 110 determines thatthe movement 406 includes a horizontal change 410 (i.e., a movement in ahorizontal direction) and a vertical change 412 (i.e., a movement in avertical direction). Based on the horizontal change 410, the digitalimage enhancement system 110 determines a corresponding (i.e., aproportionate) change in hue. Moreover, based on the vertical change412, the digital image enhancement system 110 determines a corresponding(i.e., a proportionate) change in saturation. Thus, the change inparameter values is proportionate to the horizontal movement andvertical movement relative to the initial location 408 a. Thus, theembodiment shown in FIG. 4 illustrates that the digital imageenhancement system 110 can make modifications to two parameters inresponse to a single user input gesture (e.g., a diagonal touchgesture).

As illustrated in FIG. 4, in some embodiments the digital imageenhancement system 110 determines that the subsequent location 408 bcomprises a horizontal coordinate 414 and a vertical coordinate 416relative to a global coordinate system. In particular, the horizontalcoordinate 414 reflects a horizontal distance from an origin of theglobal coordinate system and the vertical coordinate 416 reflects avertical distance from the origin. The digital image enhancement system110 maps coordinates (e.g., absolute positions) of the global coordinatesystem to a corresponding range of parameter values. Thus, the digitalimage enhancement system 110 maps position to corresponding parametervalues (e.g., vertical positions have corresponding hue values rangingfrom 0-360 and horizontal positions have corresponding saturation valuesranging from 0-100). As shown, the digital image enhancement system 110utilizes the vertical coordinate 416 to determine a saturation value(e.g., 91) and utilizes the horizontal coordinate 418 to determine a huevalue (e.g., 291).

Although FIG. 4 illustrates particular parameter types (e.g., hue andsaturation), the digital image enhancement system 110 can determineparameter values for any parameters described herein. Moreover, althoughFIG. 4 utilizes the bottom left corner of the display screen as theorigin of a cartesian coordinate system the digital image enhancementsystem 110 can utilize a variety of different coordinate systems (e.g.,polar) and a variety of different origin points (e.g., origins based ondifferent locations of the display screen, the user interface, a digitalimage, or an element within a user interface).

Additionally, although FIG. 4 illustrates a single user input gesturewith a horizontal component and a vertical component, in alternativeembodiments, the digital image enhancement system 110 can detect a firstuser input gesture that is in a first direction (e.g., horizontaldirection) and a second user input gesture that is in a second direction(e.g., a vertical direction). In other words, the digital imageenhancement system 110 can map a single user input gesture to a singledirection. For example, the digital image enhancement system 110 candetect that a first user input gesture is within a threshold of a firstdirection (e.g., horizontal or vertical) and map the first user inputgesture to the first direction even if the first user input gesture hasa component in a direction other than the first direction. Thus, thedigital image enhancement system 110 can make modifications to a singleparameter in response to single user input gesture or make multiplemodifications to multiple parameters in response to multiple separateuser input gestures.

As mentioned above, in some embodiments, the digital image enhancementsystem 110 can select different parameters to modify based on featuresdetected at a sensor location. FIG. 5 illustrates determining variousparameters to modify based on different features (e.g., tonal regions)detected at different sensor locations of a digital image in accordancewith one or more embodiments. For example, FIG. 5 illustrates acomputing device 500 displaying a digital image 502. FIG. 5 also shows afirst sensor location 504 a, a second sensor location 504 b, and a thirdsensor location 504 c relative to the digital image 502. For each of thesensor locations 504 a-504 c, the digital image enhancement system 110determines different parameters to modify based on detecting varyingfeatures of the digital image 502.

For example, with regard to the first sensor location 504 a, the digitalimage enhancement system 110 detects that digital content at the firstsensor location 504 a corresponds to a first feature 506 a (i.e., thatthe digital content at the first sensor location corresponds to amid-tone). In response, the digital image enhancement system 110 canselect a first parameter 508 (i.e., exposure) and a second parameter 510(i.e., contrast). Moreover, the digital image enhancement system 110 canmap the parameters to different directions (e.g., exposure correspondsto movement in a horizontal direction and contrast corresponds tomovement in a vertical direction).

In addition, at the second sensor location 504 b, the digital imageenhancement system 110 detects a second feature 506 b. In particular,the digital image enhancement system 110 detects that the digitalcontent at the second sensor location 504 b corresponds to a shadowtone. In response, the digital image enhancement system 110 can select athird parameter 512 (shadow brightness) and a fourth parameter 514(black clipping point). Moreover, the digital image enhancement system110 can map the parameters to movement directions (e.g., shadowbrightness maps to a horizontal direction and black clipping point mapsto vertical direction).

Furthermore, at the third sensor location 504 c, the digital imageenhancement system 110 detects a third feature 506 c. In particular, thedigital image enhancement system 110 determines that the digital contentat the third sensor location 504 c corresponds to a highlight tone. Inresponse, the digital image enhancement system 110 can select a fifthparameter 516 (highlight brightness) and a sixth parameter 518 (whiteclipping point) with corresponding directions (i.e., horizontal andvertical respectively).

Accordingly, the digital image enhancement system 110 can select avariety of different parameters based on detecting different features atdifferent sensor locations. Although FIG. 5 illustrates the digitalimage enhancement system 110 selecting particular parameters in responseto detecting particular features, the digital image enhancement system110 can select a variety of different parameters in response todetecting a variety of different features. For example, in response todetecting an orange color, the digital image enhancement system 110 canselect an orange brightness parameter (that defines and/or modifies thebrightness of orange colors in a digital image) and an orange hueparameter (that defines and/or modifies the hue of orange colors in adigital image). Moreover, in some embodiments, the digital imageenhancement system 110 selects parameters without detecting features ofthe digital image. For example, in some embodiments, the digital imageenhancement system 110 selects a contrast parameter independently of anyfeatures of the digital image, such as in response to a user selectionof a parameter to modify.

As discussed above, the digital image enhancement system 110 candetermine modifications based on features (detected at a sensorlocation) and user input gestures in multiple directions across adigital image. For example, upon mapping parameters to particularmovement directions, the digital image enhancement system 110 can thenmonitor user input gestures and modify parameter values based on theuser input gestures. In this manner, the digital image enhancementsystem 110 can efficiently and accurately generate digital imageenhancements that would traditionally require modification of a varietyof user interface control tools. For example, FIG. 6 illustratesgenerating a modification based on features and user input gestures inaccordance with one or more embodiments of the digital image enhancementsystem 110 (and corresponding changes to sliders or other conventionaluser interface tools for the same modification).

For example, in FIG. 6, the digital image enhancement system 110 detectsthat a sensor location of a digital image includes green colors that liewithin a mid-tonal range of intensity values (e.g., a “mid-tone”feature). The digital image enhancement system 110 selects a mid-tonebrightness parameter and maps the mid-tone brightness parameter tomovement in a horizontal direction. Moreover, the digital imageenhancement system 110 detects a user input gesture that includeshorizontal movement. In response, the digital image enhancement system110 modifies the mid-tone brightness proportionate to the magnitude ofthe horizontal movement.

As shown, modifying the mid-tone brightness of an image pursuant to thisexample correlates to modification of a host of sliders or other uservisual parameter value modification elements. For example, moving anexposure slider will brighten an image, but this will impact not onlythe mid-tones but have an effect over the whole tonal region.Accordingly, this modification could also involve moving a shadow sliderand a highlight slider to impact the mid-tones.

Moreover, modifying brightness within the specific tonal range can alsoinclude modifications to a color curve. A color curve (as shown in FIG.6) includes a visual representation of a remapping of image tonality. Acolor curve can be expressed as a function of input level to outputlevel. Users can interact with color curves to modify the function, forexample, by modifying the function in certain tonal ranges. A user canmodify a variety of variables with respect to a color curve, such as:adding, moving, or removing points that define a color curve, modify therange of tonal regions in a color curve, or modifying the intensitywithin particular tonal ranges. The digital image enhancement system 110can make intuitive modifications to variables of a color curve withoutconfusing users with presenting a color curve for display.

Indeed, the digital image enhancement system 110 can make themodifications illustrated in FIG. 6 with gesture inputs across a digitalimage. Indeed, by determining a specific parameter (mid-tone brightness)based on features of the digital image itself, the digital imageenhancement system 110 can control and modify the relevant parameters toaccurately modify the digital image without the need for duplicativeuser interactions with a variety of different sliders and visualelements.

Although FIGS. 5-6 describe selecting parameters based on differentdetected tonal regions (i.e., different brightness features), asmentioned above, the digital image enhancement system 110 can selectparameters based on any features described herein. For example, thedigital image enhancement system 110 can select a parameter based on anobject detected in a digital image (e.g., upon detecting a flower,select a saturation parameter). Similarly, as mentioned above (inrelation to FIG. 2), in some embodiments, the digital image enhancementsystem 110 selects parameters based on applying a digital imagecorrection algorithm.

As mentioned above, in some embodiments, the digital image enhancementsystem 110 can modify parameters of a digital image by blending stylesor filters based on user input gestures across a digital image. Forexample, FIG. 7 illustrates a computing device 700 with a digital imageenhancement user interface 702. The digital image enhancement system 110can associate regions, locations, and/or directions of the digital imageenhancement user interface 702 with four styles 704-710. Each style hasits own blend of individual parameters. For example, Style 704 caninclude a style defined by a user. Similarly, Styles 706-710 can includesystem pre-defined filters. Based on user interaction, the digital imageenhancement system 110 can blend parameters of the four styles 704-710.

For example, in one or more embodiments, the digital image enhancementsystem 110 performs a weighted blending based on a decreasing functionof distance from each style (e.g., distance-weighted blending). Thus, asa user input gesture goes closer to the corners, the digital imageenhancement system 110 can emphasize the style corresponding to thatcorner. When a user input gesture is equidistant from the four cornerscorresponding to the styles, the digital image enhancement system 110can equally blend the parameters of the individual styles.

In some embodiments, the digital image enhancement system 110 can blendparameters from different styles using a blended color lookup table. Forexample, the digital image enhancement system 110 can determine ablended color lookup table by blending the color outputs for anyspecified input color. For instance, the digital image enhancementsystem 110 can generate a lookup table for each of the styles 704-710where each lookup table identifies an output color corresponding to aninput color from the digital image. The digital image enhancement system110 can take the output colors from each lookup table for each style tocreate a blended color lookup table. The digital image enhancementsystem 110 can utilize the blended color lookup table to identify ablended color from an input color.

In some embodiments, the digital image enhancement system 110 utilizes azero-style at a center region of the digital image. Thus, when a userfinger is in the center region, the digital image enhancement system 110applies none of the styles 704-710. In other embodiments, the digitalimage enhancement system 110 includes an auto correction element at acenter region of the digital image. In such embodiments, when a userfinger is in the center region, the digital image enhancement system 110applies a digital image correction algorithm (rather than one of thefour styles).

Although FIG. 7 illustrates the four styles 704-710 with correspondingregions at the corners of the digital image enhancement user interface,the digital image enhancement system 110 can utilize a different numberof styles with different corresponding locations. For example, ratherthan blending four styles, the digital image enhancement system 110 canblend two styles and associate the two styles with different locationsor directions (e.g., top and bottom of the screen or locations along theedge of the screen). To illustrate, the digital image enhancement system110 can associate style locations along a digital image boundary withinthe interior of the digital image or outside of the digital image.Moreover, rather than associating styles with corners, in someembodiments the digital image enhancement system 110 associates a firstblending weight for a first style with a first (horizontal) movementdirection and a second blending weight for a second style with a second(vertical) movement direction.

As mentioned above, the digital image enhancement system 110 can alsoutilize various input modes to assist in selecting particular featuresand/or parameters. For example, FIG. 8 illustrates input modes 802-810utilized by the digital image enhancement system 110 in accordance withone or more embodiments. The digital image enhancement system 110 canselect and apply the input modes 802-810 in generating enhanced digitalimages. For example, in response to a mode selection user input, thedigital image enhancement system 110 can select the first mode 802 andthen search for features corresponding to a feature type correspondingto the first mode and modify parameters corresponding to the first mode.

For example, as illustrated, the first mode 802 is associated with afeature type 802 a (i.e., a color or hue feature). In addition, thefirst mode 802 is associated with parameters 802 b-802 c. In particular,the first mode 802 is associated with a first parameter 802 b (i.e.,saturation) corresponding to a first direction (i.e., a horizontaldirection). Moreover, the first mode 802 is associated with a secondparameter 802 c (i.e., hue) corresponding to a second direction (i.e., avertical direction). Accordingly, upon selection of the first mode 802,the digital image enhancement system 110 can analyze a sensor locationfor color and modify saturation based on a user input gesture thatincludes movement in a horizontal direction and modify hue based on auser input gesture that includes movement in a vertical direction.

In some embodiments, the digital image enhancement system 110 varies theparameters 802 b, 802 c based on the specific feature detected. Forexample, in utilizing the first mode 802, the digital image enhancementsystem 110 can detect green as a color at a sensor location. Inresponse, the digital image enhancement system 110 can utilize the firstparameter 802 b, but utilize a more specific version of the firstparameter 802 b that modifies saturation of green colors. Thus, althoughthe first mode 802 corresponds to particular parameters, the digitalimage enhancement system 110 can apply the parameters based on featuresdetected within the digital image.

As shown in FIG. 8, the digital image enhancement system 110 can alsoutilize a second mode 804. As shown in FIG. 8, the second mode 804 caninclude a feature type 804 a (i.e., a color feature) a first parameter804 b (i.e., brightness) corresponding to a first direction (i.e.,horizontal direction) and a second parameter 804 c corresponding to asecond direction (i.e., a vertical direction). Accordingly, in applyingthe input mode 804, the digital image enhancement system 110 can analyzea sensor location for color and then modify brightness (in response tomovement in a horizontal direction) and modify saturation (in responseto movement in a vertical direction).

As further illustrated in FIG. 8, the digital image enhancement system110 can utilize a third mode 806 associated with a features type 806 a(i.e., tonal region feature) and parameters 806 b (i.e., colorparametric curve variables). As discussed above (e.g., in relation toFIG. 6), the digital image enhancement system 110 can utilize a colorcurve to modify a digital image. For instance, the digital imageenhancement system 110 can modify intensity values within a tonal regionof a color curve. Similarly, the digital image enhancement system 110can modify boundaries or cut-off points between tonal regions within acolor curve. The digital image enhancement system 110 can utilize thesevariables as the parameters 806 b. For example, the digital imageenhancement system 110 can modify the intensity (or height) of a colorcurve based on movement in a first direction. Moreover, the digitalimage enhancement system 110 can modify a boundary of a tonal region (orhorizontal location of points on a color curve) based on movement in asecond direction.

As shown in FIG. 8, the digital image enhancement system 110 can alsoinclude a fourth mode 808 (i.e., a structural mode) associated with afeature type 808 a (i.e., detect an object) a first parameter 808 b(i.e., saturation) and a second parameter 808 c (i.e., hue). Thus, whenimplementing the fourth mode 808, the digital image enhancement system110 can identify an object portrayed in a sensor location, modifysaturation of the object (and/or similar objects of the same class) inresponse to a movement in a horizontal direction and modify hue of theobject (and/or similar objects of the same class) in response to amovement in a vertical direction.

Moreover, FIG. 8 shows that the digital image enhancement system 110 canalso apply other modes 810. For example, the digital image enhancementsystem 110 can define a variety of modes based on different combinationsof features and parameters described herein.

To illustrate, the digital image enhancement system 110 can utilize amode that detects features that include both color and saturation andthat modifies hue and saturation (or hue and brightness or hue andcontrast). Similarly, the digital image enhancement system 110 canutilize style input mode that modifies preset styles (as described inrelation to FIG. 7). Moreover, although FIG. 8 illustrates various inputmodes having a pre-determined feature type to analyze, in someembodiments the digital image enhancement system 110 utilizes inputmodes that do not specify (or analyze) a feature type (i.e., the inputmodes only specify parameters).

In one or more embodiments, the digital image enhancement system 110selects or determines a mode to apply (e.g., from the modes 802-810).The digital image enhancement system 110 can select a mode based on avariety of factors. For example, in some embodiments, the digital imageenhancement system 110 selects a mode based on user input. For instance,the digital image enhancement system 110 can detect a mode selectionuser input that indicates a user selection of a particular node. Toillustrate, in some embodiments, the digital image enhancement system110 toggles through input modes based on a double-click or double-pressevent.

The digital image enhancement system 110 can also select an input modebased on digital image content. For example, the digital imageenhancement system 110 can perform a preliminary analysis of a digitalimage to determine digital image features (e.g., color statistics,objects portrayed, time of day, seasons, or location) and select aninput mode based on the digital image features. For example, based ondetecting a digital with a dark color profile, the digital imageenhancement system 110 can select a light color mode. Similarly, basedon detecting a digital image with little variation in color, the digitalimage enhancement system 110 can select a color mode.

In some embodiments, the digital image enhancement system 110 can selectan input mode based on applying a digital image correction algorithm.For example, the digital image enhancement system 110 can apply adigital image correction algorithm and determine parameters that change(e.g., that change the most significantly) relative to the originaldigital image. The digital image enhancement system 110 can then selecta color mode that corresponds to the parameters that change.

The digital image enhancement system 110 can also select an input modebased on historical usage. For example, the digital image enhancementsystem 110 can select an input made based on a last-used input mode.Similarly, the digital image enhancement system 110 can select an inputmode based on frequency of use (e.g., the most used input mode for aparticular user). In some embodiments, the digital image enhancementsystem 110 can select an input mode based on both features of thedigital image and usage history. For example, the digital imageenhancement system 110 can detect an object in a digital image anddetermine that a user has previously modified a digital image with theobject utilizing a particular input mode. In response, the digital imageenhancement system 110 can select the particular input mode.

As mentioned above, the digital image enhancement system 110 can utilizea digital image enhancement user interface to generate enhanced digitalimages. FIGS. 9A-10 illustrate generating enhanced digital imagesutilizing a digital image enhancement user interface in accordance withone or more embodiments. For example, FIG. 9A illustrates a computingdevice 900 with a touchscreen 902 displaying a digital image enhancementuser interface 904 that includes a digital image 906 (i.e., a digitalimage portraying a flower).

The digital image enhancement system 110 detects a user dragging afinger to a first location 908. The digital image enhancement system 110provides a sensor 910 for display on the digital image enhancement userinterface (as the user drags the finger). In some embodiments, thedigital image enhancement system 110 increases the size of the sensor910 when a user touches the display screen (to make the location of thesensor easier to see at any given time). Moreover, as the digital imageenhancement system 110 detects movement of the sensor 910 at differentlocations, the digital image enhancement system 110 can provide anindicator of content at the different locations (and modificationscorresponding to a currently selected input mode). For example, as shownin FIG. 9A, the digital image enhancement system 110 provides a dynamicindicator 911 indicating that digital content at the current locationincludes “Highlights” and the current input mode will modify light(e.g., brightness and contrast) within the highlights.

Specifically, as shown in FIG. 9A, the sensor 910 is associated with aninput mode. Specifically, the sensor 910 displays a graphic (e.g., acircle with a lightness gradient) indicating that a light input mode isselected. Based on the light input mode, the digital image enhancementsystem 110 can detect a brightness feature at the first location 908.For example, the digital image enhancement system 110 detects that thedigital image 906 at the first location 908 includes pixels thatcorrespond to highlights (e.g., in a highlight brightness category orrange).

At the first location 908, the digital image enhancement system 110 candetect a long-press or other user input to activate the sensor orfeature detector capabilities of the digital image enhancement system110. The digital image enhancement system 110 can detect one or morefeatures of the digital image at the first location 908. In particular,the digital image enhancement system 110 can identify parameters tomodify and associate those parameters with movement directions. Becausethe digital image enhancement system 110 is applying a light input mode,the digital image enhancement system 110 can associate a brightnessparameter (e.g., change brightness of pixels portraying highlights) withmovement in a horizontal direction and a saturation parameter (e.g.,change saturation of pixels portraying highlights) with a movement in avertical direction.

As illustrated in FIG. 9A, the digital image enhancement system 110detects a user input gesture 912. In particular, after the selection ofthe first location 908, the digital image enhancement system 110 detectsa user input gesture that begins at an initial location 912 a and endsat a subsequent location 912 b. From the user input gesture 912, thedigital image enhancement system 110, in one embodiment, can identify afirst movement in a horizontal direction and a second movement in avertical direction. Based on the first movement in the horizontaldirection and the features at the first location, the digital imageenhancement system 110 can modify brightness. Specifically, the digitalimage enhancement system 110 can modify brightness of pixels that fallwithin the highlight category or range. Based on the second movement inthe vertical direction and the features at the first location, thedigital image enhancement system 110 can also modify saturation. Inparticular, the digital image enhancement system 110 can modifysaturation of pixels that fall within the highlight category or range.As discussed above, the digital image enhancement system 110 candetermine the magnitude of the brightness and saturation changes basedon the magnitude of the horizontal movement and the magnitude of thevertical movement.

In another embodiment, the digital image enhancement system 110 candetermine that the user input gesture 912 is more horizontal thanvertical or within a threshold angle of a horizontal movement. Inresponse, the digital image enhancement system 110 can modify brightnessof pixels that fall within the highlight category or range based on amagnitude of the first user input gesture 912.

Upon identifying a modification to be made (e.g., parameters andparameter values to change), the digital image enhancement system 110can generate an enhanced digital image. Upon detecting the user inputgesture 912, the digital image enhancement system 110 can modify theparameters to generate an enhanced digital image 914. Specifically, thedigital image enhancement system 110 can modify brightness (andoptionally saturation) of pixels within a highlights tonal range.Moreover, the digital image enhancement system 110 can provide theenhanced digital image 914 for display via the digital image enhancementuser interface 904.

As mentioned, the digital image enhancement system 110 can iterativelychange different parameters utilizing a sensor. For example, FIG. 9Billustrates utilizing a sensor and multi-dimensional gesture inputs tofurther modify the enhanced digital image 914. Specifically, in relationto FIG. 9B, the digital image enhancement system 110 identifies movement(e.g., a drag event) to a new location 920. The digital imageenhancement system 110 also identifies user input (e.g., a double-pressevent) indicating a change to a different input mode. In response, thedigital image enhancement system 110 can provide the sensor 910 fordisplay at the new location 920. Moreover, the digital image enhancementsystem 110 can provide a new graphic within the sensor 910 indicating adifferent input mode (i.e., a color input mode).

Based on an additional user input (e.g., a long press event), thedigital image enhancement system 110 can activate the sensor 910,determine features of the digital image at the new location 920, andsearch or wait for a user input gesture. Because the digital imageenhancement system 110 is applying a color input mode, the digital imageenhancement system 110 can detect a color at the first location (i.e.,magenta). The digital image enhancement system 110 also can identifyparameters corresponding to the color input mode (e.g., hue for ahorizontal direction and saturation for a vertical direction).

As shown in FIG. 9B, the digital image enhancement system 110 identifiesa user input gesture 922. The digital image enhancement system 110determines a first movement in a horizontal direction and applies acorresponding change in hue based on the feature detected at the newlocation 920 and the first movement. Specifically, the digital imageenhancement system 110 identifies pixels that portray hues within athreshold hue range of magenta and applies a change in hue to thosepixels. Moreover, the digital image enhancement system 110 determines asecond movement in a vertical direction and applies a correspondingchange in saturation based on the feature detected at the new location920 and the second movement. Specifically, the digital image enhancementsystem 110 identifies pixels within the threshold hue range of magentaand applies a change in saturation to those pixels. As illustrated, thedigital image enhancement system 110 generates an enhanced digital image924.

Although FIGS. 9A-9B illustrate applying to modifications to a digitalimage, as discussed above, the digital image enhancement system 110 caniteratively modify a digital image by identifying features at a sensorlocation and detecting two-dimensional user input gestures. For example,the digital image enhancement system 110 can detect an additionalselection at an additional location using the sensor 910, identifyadditional features at the additional location, determine additionaluser input gestures, and modify the enhanced digital image 916 based onthe detected features and the additional user input gestures.

As mentioned above, in some embodiments, the digital image enhancementsystem 110 can detect objects portrayed in a digital image at a sensorlocation and modify the objects based on user input gestures across thedigital image. For example, FIG. 10 illustrates a computing device 1000with a touchscreen 1002 displaying a digital image enhancement userinterface 1004 that includes a digital image 1006 (i.e., a digital imageportraying a statue 1012).

The digital image enhancement system 110 identifies a user selection ata first location 1008 (e.g., a long press event) corresponding to asensor 1010. In response, the digital image enhancement system 110 candetermine features at the first location 1008. As illustrated, thedigital image enhancement system 110 can utilize a structural input modein relation to FIG. 10. Accordingly, the digital image enhancementsystem 110 can detect an object portrayed at the first location 1008.Specifically, the digital image enhancement system 110 can apply anobject identification model and identify the statue 1012.

As discussed above, the digital image enhancement system 110 can alsomap parameters to particular movement directions. For example, inrelation to FIG. 10, the digital image enhancement system 110 canassociate saturation to a horizontal direction and hue to a verticaldirection.

As shown in FIG. 10, the digital image enhancement system 110 alsodetects a user input gesture 1014. In response, the digital imageenhancement system 110 can modify parameters of the digital image basedon the detected object and the user input gesture. In particular, in theembodiment shown in FIG. 10, the digital image enhancement system 110modifies saturation of the statue 1012 based on movement in a horizontaldirection and modifies hue of the statue 1012 based on movement in avertical direction. As shown, the digital image enhancement system 110generates and displays an enhanced digital image 1016.

Although FIG. 10 illustrates a digital image portraying an object of aparticular type or class, the digital image enhancement system 110 canoperate in conjunction with a variety of digital images portraying avariety of objects. For example, in some embodiments, the digital imageenhancement system 110 detects a sky or clouds portrayed at a sensorlocation in a digital image. The digital image enhancement system 110can modify the sky or the clouds based on user input gestures.

Moreover, in some embodiments, digital images portray multiple instancesof an object in a digital image. In some embodiments, the digital imageenhancement system 110 can detect a single instance of an object at asensor location, identify a plurality of instances of the object in thedigital image, and modify the plurality of instances of the object basedon user input gestures. To illustrate, the digital image enhancementsystem 110 can detect a first face at a sensor location. The digitalimage enhancement system 110 can analyze a digital image and detect asecond face in the digital image. In response to a user input gesture,the digital image enhancement system 110 modify the first face and thesecond face (e.g., modify hue, brightness, or saturation of the firstface and the second face).

The digital image enhancement system 110 can also place limits onparameter values based on features detected in a digital image. Forexample, in response to detecting a face in a digital image, the digitalimage enhancement system 110 can place limits on hue values within arange corresponding to human skin tones. Similarly, upon detecting a skyin a digital image, the digital image enhancement system 110 can selecta range of hue values that correspond to traditional sky colors.

Furthermore, in addition to the features identified in FIGS. 9A-10, thedigital image enhancement system 110 can identify and modify digitalimages based on other features. For example, as mentioned above, thedigital image enhancement system 110 can detect a time or locationwithin a digital image and select parameters to modify based on the timeor location. For example, the digital image enhancement system 110 candetermine that a digital image portrays spring. In response, the digitalimage enhancement system 110 can select a color parameter (e.g., toemphasize colors of spring flowers). Similarly, the digital imageenhancement system 110 can determine that London is portrayed in adigital image and select a brightness parameter (e.g., to brighten darkregions).

The digital image enhancement system 110 can also provide additionaluser interface functions that assist in generating enhanced digitalimages. For example, in some embodiments, the digital image enhancementsystem 110 alternate between displaying a modified digital image and aprevious (e.g., original) digital image (e.g., to assist users inevaluating modifications). FIG. 11 illustrates alternating betweendisplaying a modified digital image and a previous digital image inaccordance with one or more embodiments. As shown in FIG. 11, thedigital image enhancement system 110 displays the enhanced digital image1016. In response to user input (e.g., a long press event), the digitalimage enhancement system 110 can display the digital image 1006 (priorto modifications). Specifically, the digital image enhancement system110 displays the digital image 1006 for the duration of the user input(e.g., until the long press event is complete). Upon completion of theuser input, the digital image enhancement system 110 displays theenhanced digital image 1016.

The digital image enhancement system 110 can provide a variety of otheruser interface functions to assist in modifying digital images. Forexample, in response to user input, the digital image enhancement system110 can provide details of modifications to a digital image. Toillustrate, the digital image enhancement system 110 can provide a textelement that indicates modifications to various parameters (e.g.,modifications to brightness or saturation).

For example, the digital image enhancement system 110 can provide visualelements within a user interface that provide visual feedback as to thevalues of the parameters. For example, in some embodiments, the digitalimage enhancement system 110 can show numeric parameter values as text,either near the sensor or near the finger location for touch screens orin a separate fixed location (e.g., at the top or bottom of the viewscreen). The user can scrub a finger over the text (or provide someother user input) to increase or decrease values and can alternativelyenter text values for the parameters directly. Also, the digital imageenhancement system 110 can allow for textual feedback as to the specificuser mode and type of parameters which are being controlled along thetwo axes. Such visual feedback may include graphical depictions, such asa change of icon for the sensor visual element. It may also include avisual display of parameter values, such as presentation of a bar whoselength indicates parameter strength. In this manner, the digital imageenhancement system 110 can inform users regarding what changes are beingmade (or have been made) in generating an enhanced digital image.

Turning now to FIG. 12, additional detail is provided regardingcomponents and capabilities of the digital image enhancement system 110in accordance with one or more embodiments. As shown, the digital imageenhancement system 110 is implemented by a computing device 1200 (e.g.,the server device(s) 102 and/or the client device 104 a). Moreover, asillustrated, the digital image enhancement system 110 includes an inputmode manager 1202, a sensor engine 1204, a modification manager 1206(which includes a parameter selector 1208 and a multi-dimensional inputengine 1210), and a storage manager 1214 (which stores digital images1214 a, digital image features 1214 b, enhanced digital images 1214 c,input modes 1214 d, and parameters 1214 e).

As just mentioned, the digital image enhancement system 110 includes theinput mode manager 1202. The input mode manager 1202 can determine,generate, apply, implement, modify and/or utilize input modes. Forexample, as discussed above, the digital image enhancement system 110can determine input modes that define feature types and/or parameters toutilize in generating an enhanced digital image.

In addition, as shown in FIG. 12, the digital image enhancement system110 includes the sensor engine 1204. The sensor engine 1204 cangenerate, display, and/or utilize a sensor (e.g., a transparent sensor).The sensor engine 1204 can also identify, determine, detect, and/orextract features of a digital image (e.g., features corresponding to asensor location). For example, the sensor engine 1204 can provide acircular transparent sensor for display based on a selection of a sensorlocation. As described above, the sensor engine 1204 can also apply acolor analysis model and/or an object identification model to determinefeatures corresponding to the sensor location.

As illustrated in FIG. 12, the digital image enhancement system 110 alsoincludes the modification manager 1206. The modification manager 1206can identify, determine, and/or select a modification to apply to adigital image. For instance, the digital image enhancement system 110can identify parameters and parameter values to utilize in modifying adigital image.

As shown, the modification manager 1206 includes a parameter selector1208. The parameter selector 1208 can identify, determine, generate,and/or select parameters to modify in a digital image. For instance, theparameter selector 1208 can map parameters to user input gestures. Forexample, as described above, the parameter selector 1208 can select afirst parameter and map the first parameter to a first direction.Moreover, the parameter selector 1208 can select a second parameter andmap the second parameter to a second direction.

FIG. 12 illustrates that the modification manager 1206 also includes themulti-dimensional input engine 1210. The multi-dimensional input engine1210 can identify, determine, detect, and/or analyze user inputgestures. For example, the multi-dimensional input engine 1210 canidentify a user input gesture to determine movements corresponding todifferent directions. In particular, the multi-dimensional input engine1210 can identify a first movement in a first direction and a secondmovement in a second direction. Furthermore, the multi-dimensional inputengine 1210 can determine parameter values based the user inputgestures. For example, as described above the multi-dimensional inputengine 1210 can determine parameter values for a first parameter basedon a movement in a first direction and determine parameter values for asecond parameter based on movement in a second direction.

As illustrated, the digital image enhancement system 110 also includesthe digital image editing engine 1212. The digital image editing engine1212 can create, generate, edit, modify, render and/or display anenhanced digital image. For example, the digital image enhancementsystem 110 can identify modifications (from the modification manager1206) and make the modifications in relation to a digital image.Moreover, the digital image enhancement system 110 can provide amodified digital image for display.

As shown in FIG. 12, the digital image enhancement system 110 alsoincludes the storage manager 1214. The storage manager 1214 maintainsdata for the digital image enhancement system 110. The storage manager1214 can maintain data of any type, size, or kind, as necessary toperform the functions of the digital image enhancement system 110,including digital images 1214 a, digital image features 1214 b (e.g.,colors or objects portrayed in a digital image at different locations),enhanced digital images 1214 c, input modes 1214 d (e.g., color inputmode or lighting input mode), and/or parameters 1214 e (e.g., availableparameters to modify and/or a record of historical parameter usage).

In one or more embodiments, each of the components of the digital imageenhancement system 110 are in communication with one another using anysuitable communication technologies. Additionally, the components of thedigital image enhancement system 110 can be in communication with one ormore other devices including one or more client devices described above.It will be recognized that although the components of the digital imageenhancement system 110 are shown to be separate in FIG. 12, any of thesubcomponents may be combined into fewer components, such as into asingle component, or divided into more components as may serve aparticular implementation. Furthermore, although the components of FIG.12 are described in connection with the digital image enhancement system110, at least some of the components for performing operations inconjunction with the digital image enhancement system 110 describedherein may be implemented on other devices within the environment.

The components of the digital image enhancement system 110 can includesoftware, hardware, or both. For example, the components of the digitalimage enhancement system 110 can include one or more instructions storedon a computer-readable storage medium and executable by processors ofone or more computing devices (e.g., the computing device 1200). Whenexecuted by the one or more processors, the computer-executableinstructions of the digital image enhancement system 110 can cause thecomputing device 1200 to perform the methods described herein.Alternatively, the components of the digital image enhancement system110 can comprise hardware, such as a special purpose processing deviceto perform a certain function or group of functions. Additionally oralternatively, the components of the digital image enhancement system110 can include a combination of computer-executable instructions andhardware.

Furthermore, the components of the digital image enhancement system 110performing the functions described herein may, for example, beimplemented as part of a stand-alone application, as a module of anapplication, as a plug-in for applications including content managementapplications, as a library function or functions that may be called byother applications, and/or as a cloud-computing model. Thus, thecomponents of the digital image enhancement system 110 may beimplemented as part of a stand-alone application on a personal computingdevice or a mobile device. Alternatively or additionally, the componentsof the digital image enhancement system 110 may be implemented in anyapplication that allows creation and delivery of marketing content tousers, including, but not limited to, applications in ADOBE CREATIVECLOUD, such as ADOBE LIGHTROOM, ADOBE ILLUSTRATOR, ADOBE PHOTOSHOP, andADOBE CAMERA RAW. “ADOBE,” “CREATIVE CLOUD,” “LIGHTROOM” “ILLUSTRATOR,”“PHOTOSHOP,” and “ADOBE CAMERA RAW” are trademarks and/or registeredtrademarks of Adobe Inc. in the United States and/or other countries.

FIGS. 1-12, the corresponding text, and the examples provide a number ofdifferent systems, methods, and non-transitory computer-readable mediafor generating a target distribution schedule for distributingelectronic communications to individual users/client devices. Inaddition to the foregoing, embodiments can also be described in terms offlowcharts comprising acts for accomplishing a particular result. Forexample, FIGS. 13-14 illustrate flowcharts of example sequences of actsin accordance with one or more embodiments.

While FIGS. 13-14 illustrate acts according to some embodiments,alternative embodiments may omit, add to, reorder, and/or modify any ofthe acts shown in FIGS. 13-14. The acts of FIGS. 13-14 can be performedas part of a method. Alternatively, a non-transitory computer-readablemedium can comprise instructions, that when executed by one or moreprocessors, cause a computing device to perform the acts of FIGS. 13-14.In still further embodiments, a system can perform the acts of FIGS.13-14. Additionally, the acts described herein may be repeated orperformed in parallel with one another or in parallel with differentinstances of the same or other similar acts.

For example, FIG. 13 illustrates an example series of acts 1300 forgenerating an enhanced digital image in accordance with one or moreembodiments. As shown in FIG. 13, the series of acts includes an act1310 of identifying a user selection of a first location of a digitalimage. For example, the act 1310 can include identifying a userselection of a first location of a digital image within a digital imageenhancement user interface. In some embodiments, the act 1310 includesbased on the user selection of the first location of the digital imagewithin the digital image enhancement user interface, detecting one ormore features of the digital image at the first location. Moreover, theact 1310 can also include identifying, within a digital imageenhancement user interface, one or more features of a digital image at afirst location based on a user selection of the first location. In oneor more embodiments, the act 1310 includes providing a sensor fordisplay via the digital image enhancement user interface and detecting auser interaction with the sensor at the first location. Thus, in someembodiments, the first location is a sensor location.

As shown in FIG. 13, the series of acts 1300 also includes an act 1320of detecting a user input gesture across the digital image in a firstdirection and a second direction. For example, the act 1320 can includedetecting a user input gesture across the digital image comprising afirst movement in a first direction and a second movement in a seconddirection. In some embodiments, the act 1320 comprises receiving a userinput gesture comprising a two-direction movement across the digitalimage within the digital image enhancement user interface. In one ormore embodiments, the digital image enhancement system 110 detects theuser input gesture in response to a user interaction with the sensor.Moreover, in some embodiments, the first movement is a horizontaldirection and the second movement is a vertical direction.

As shown in FIG. 13, the series of acts 1300 also includes an act 1330of determining a first modification of a first parameter based on thefirst direction. For example, the act 1330 can include determining afirst modification of a first parameter of the digital image to performbased on the first movement in the first direction. In some embodiments,the act 1330 includes determining the first modification of the firstparameter of the digital image based on the first movement in the firstdirection and the one or more features of the digital image at the firstlocation.

As shown in FIG. 13, the series of acts 1300 also includes an act 1340of determining a second modification of a second parameter based on thesecond direction. For example, the act 1340 can include determine asecond modification of a second parameter of the digital image toperform based on the second movement in the second direction. In someembodiments, the act 1340 includes determine the second modification ofthe second parameter of the digital image based on the second movementin the second direction and the one or more features of the digitalimage at the first location. In some embodiments, the first parameterand the second parameter comprise at least two of: hue, saturation,brightness, contrast, exposure, shadow, highlight, black point, whitepoint, vibrance, clarity, color temperature, or color tint.

Moreover, in some embodiments, the first parameter and second parameterreflect features at the first location. For example, the first parameterand the second parameter can include a parameter corresponding to aparticular feature (e.g., a detected feature range or object). Toillustrate, the first parameter can comprise a hue parameter formodifying pixels of a digital image that correspond to (e.g., portray)at least one of: a detected hue, a detected saturation, a detectedbrightness, or a detected object. Similarly, the first parameter cancomprise a saturation parameter or a brightness parameter for modifyingpixels of a digital image that correspond to (e.g., portray) at leastone of: a detected hue, a detected saturation, a detected brightness, ora detected object.

As shown in FIG. 13, the series of acts 1300 also includes an act 1350of generating an enhanced digital image based on the first modificationand the second modification. For example, the act 1350 can includegenerating an enhanced digital image by making the first modification tothe first parameter and the second modification to the second parameter.In some embodiments, the act 1350 includes providing the enhanceddigital image for display.

In some embodiments, the series of acts 1300 includes detecting the oneor more features of the digital image at the first location by detectinga hue of the digital image at the first location; determining the firstmodification of the first parameter of the digital image at the firstlocation based on the first movement in the first direction and the hueof the digital image at the first location; and determining the secondmodification of the second parameter of the digital image at the firstlocation based on the second movement in the second direction and thehue of the digital image at the first location.

In addition, in some embodiments, the series of acts 1300 includesdetecting the one or more features of the digital image at the firstlocation by detecting an object portrayed in the digital image at thefirst location; determining the first modification of the firstparameter of the digital image at the first location based on the firstmovement in the first direction and the object portrayed in the digitalimage at the first location; and determining the second modification ofthe second parameter of the digital image at the first location based onthe second movement in the second direction and the object portrayed inthe digital image at the first location.

Moreover, in one or more embodiments, the series of acts 1300 includesdetecting an additional user input gesture associated with the enhanceddigital image; and in response to the additional user input gesture,transitioning from displaying the enhanced digital image to displayingthe digital image within the digital image enhancement user interfacefor a duration of the additional user input gesture. For example, theacts 1300 can include displaying the enhanced digital image; in responseto detecting the additional user input gesture, displaying the digitalimage; and in response to detecting completion of the additional userinput gesture, displaying the enhanced digital image.

In addition, in some embodiments, the series of acts 1300 includesdetermining the first parameter of the digital image and the secondparameter of the digital image based on a first input mode; and inresponse to detecting a mode selection user input, modifying the firstinput mode to a second input mode corresponding to a third parameter anda fourth parameter.

Further, in one or more embodiments, the series of acts 1300 includesidentifying a second user selection of a second location of the enhanceddigital image within the digital image enhancement user interface;detecting a second user input gesture comprising a third movement in athird direction and a fourth movement in a fourth direction; determininga third modification of the third parameter of the enhanced digitalimage based on the third movement in the third direction and the secondinput mode; determining a fourth modification of the fourth parameter ofthe enhanced digital image based on the fourth movement in the fourthdirection and the second input mode; and generating an updated enhanceddigital image by making the third modification of the third parameterand the fourth modification of the fourth parameter.

For example, in some embodiments, the first input mode corresponds tofirst parameter and the second parameter. Moreover, in some embodiments,the second input mode corresponds to the third parameter and the fourthparameter. In one or more embodiments, the first input mode alsocorresponds to a feature type. Furthermore, in one or more embodiments,the second input mode corresponds to a second feature type.

In some embodiments, the user input gesture comprising the two-directionmovement across the digital image comprises a first movement in a firstdirection corresponding to a first modification and a second movement ina second direction corresponding to a second modification; and theenhanced digital image reflects the first modification and the secondmodification.

In addition, in some embodiments, the digital image enhancement userinterface does not include a visual element for modifying parametervalues of the first parameter or parameter values of the secondparameter. Moreover, in one or more embodiments, the digital imageenhancement user interface contains no visual slider elements.

In addition, FIG. 14 illustrates an example series of acts 1400 forgenerating an enhanced digital image in accordance with one or moreembodiments. As shown in FIG. 14, the series of acts 1400 also includesan act 1410 of identifying one or more features of a digital image at afirst location. For example, the act 1410 can include identifying one ormore features of a digital image at a first location based on a userselection of the first location within a digital image enhancement userinterface. In some embodiments, the act 1410 includes providing atransparent sensor for display at the first location based on the userselection of the first location within the digital image enhancementuser interface; and identifying the one or more features by analyzing aregion of the digital image encompassed by the transparent sensor. Theact 1410 can also include identifying one or more of brightness at thefirst location, hue at the first location, or an object at the firstlocation.

As shown in FIG. 14, the series of acts 1400 also includes an act 1420of detecting a user input gesture comprising a movement to a secondlocation of the digital image. For example, the act 1420 can includedetecting a user input gesture comprising a movement to a secondlocation of the digital image within the digital image enhancement userinterface. In some embodiments, the act 1420 includes detecting amovement from an initial location of the digital image within thedigital image enhancement user interface to the second location of thedigital image within the digital image enhancement user interface.

As shown in FIG. 14, the series of acts 1400 also includes an act 1430of determining a modification of a parameter based on the movement andthe one or more features. For example, the act 1430 can includedetermining a modification of a parameter of the digital image based onthe movement to the second location and the one or more features of thedigital image at the first location. In some embodiments, the act 1430includes selecting the parameter based on the one or more features ofthe digital image at the first location; and identifying a parametervalue of the parameter based on the second location within the userinterface. To illustrate, the act 1430 can include determining theparameter value of the parameter based on the second location based onat least one of: a relative displacement between the second location andan initial location of the user input gesture; or a mapping between anabsolute position of the second location within the digital imageenhancement user interface and the parameter value.

As shown in FIG. 14, the act 1440 includes generating an enhanceddigital image based on the modification. For example, the act 1440 caninclude generating an enhanced digital image by making the modificationof the parameter.

In some embodiments, the series of acts 1400 includes determining avertical movement and a horizontal movement from the user input gesturecomprising the movement to the second location; determining themodification of the parameter of the digital image based on the verticalmovement and the one or more features of the digital image at the firstlocation; determining an additional modification of an additionalparameter of the digital image based on the horizontal movement and theone or more features of the digital image at the first location; andgenerating the enhanced digital image by making the modification of theparameter and the additional modification of the additional parameter.

In one or more embodiments, the series of acts 1300 and/or the series ofacts 1400 include a step for generating an enhanced digital imageutilizing the two-direction movement and the one or more features. Forexample, the algorithms and acts described with reference to FIGS. 2-4can comprise the corresponding structure for performing a step forgenerating an enhanced digital image utilizing the two-directionmovement and the one or more features.

Embodiments of the present disclosure may comprise or utilize a specialpurpose or general-purpose computer including computer hardware, suchas, for example, one or more processors and system memory, as discussedin greater detail below. Embodiments within the scope of the presentdisclosure also include physical and other computer-readable media forcarrying or storing computer-executable instructions and/or datastructures. In particular, one or more of the processes described hereinmay be implemented at least in part as instructions embodied in anon-transitory computer-readable medium and executable by one or morecomputing devices (e.g., any of the media content access devicesdescribed herein). In general, a processor (e.g., a microprocessor)receives instructions, from a non-transitory computer-readable medium,(e.g., a memory, etc.), and executes those instructions, therebyperforming one or more processes, including one or more of the processesdescribed herein.

Computer-readable media can be any available media that can be accessedby a general purpose or special purpose computer system.Computer-readable media that store computer-executable instructions arenon-transitory computer-readable storage media (devices).Computer-readable media that carry computer-executable instructions aretransmission media. Thus, by way of example, and not limitation,embodiments of the disclosure can comprise at least two distinctlydifferent kinds of computer-readable media: non-transitorycomputer-readable storage media (devices) and transmission media.

Non-transitory computer-readable storage media (devices) includes RAM,ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e.g., based on RAM),Flash memory, phase-change memory (“PCM”), other types of memory, otheroptical disk storage, magnetic disk storage or other magnetic storagedevices, or any other medium which can be used to store desired programcode means in the form of computer-executable instructions or datastructures and which can be accessed by a general purpose or specialpurpose computer.

A “network” is defined as one or more data links that enable thetransport of electronic data between computer systems and/or modulesand/or other electronic devices. When information is transferred orprovided over a network or another communications connection (eitherhardwired, wireless, or a combination of hardwired or wireless) to acomputer, the computer properly views the connection as a transmissionmedium. Transmissions media can include a network and/or data linkswhich can be used to carry desired program code means in the form ofcomputer-executable instructions or data structures and which can beaccessed by a general purpose or special purpose computer. Combinationsof the above should also be included within the scope ofcomputer-readable media.

Further, upon reaching various computer system components, program codemeans in the form of computer-executable instructions or data structurescan be transferred automatically from transmission media tonon-transitory computer-readable storage media (devices) (or viceversa). For example, computer-executable instructions or data structuresreceived over a network or data link can be buffered in RAM within anetwork interface module (e.g., a “NIC”), and then eventuallytransferred to computer system RAM and/or to less volatile computerstorage media (devices) at a computer system. Thus, it should beunderstood that non-transitory computer-readable storage media (devices)can be included in computer system components that also (or evenprimarily) utilize transmission media.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general-purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. In someembodiments, computer-executable instructions are executed on ageneral-purpose computer to turn the general-purpose computer into aspecial purpose computer implementing elements of the disclosure. Thecomputer executable instructions may be, for example, binaries,intermediate format instructions such as assembly language, or evensource code. Although the subject matter has been described in languagespecific to structural features and/or methodological acts, it is to beunderstood that the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described above.Rather, the described features and acts are disclosed as example formsof implementing the claims.

Those skilled in the art will appreciate that the disclosure may bepracticed in network computing environments with many types of computersystem configurations, including, personal computers, desktop computers,laptop computers, message processors, hand-held devices, multi-processorsystems, microprocessor-based or programmable consumer electronics,network PCs, minicomputers, mainframe computers, mobile telephones,PDAs, tablets, pagers, routers, switches, and the like. The disclosuremay also be practiced in distributed system environments where local andremote computer systems, which are linked (either by hardwired datalinks, wireless data links, or by a combination of hardwired andwireless data links) through a network, both perform tasks. In adistributed system environment, program modules may be located in bothlocal and remote memory storage devices.

Embodiments of the present disclosure can also be implemented in cloudcomputing environments. In this description, “cloud computing” isdefined as a model for enabling on-demand network access to a sharedpool of configurable computing resources. For example, cloud computingcan be employed in the marketplace to offer ubiquitous and convenienton-demand access to the shared pool of configurable computing resources.The shared pool of configurable computing resources can be rapidlyprovisioned via virtualization and released with low management effortor service provider interaction, and then scaled accordingly.

A cloud-computing model can be composed of various characteristics suchas, for example, on-demand self-service, broad network access, resourcepooling, rapid elasticity, measured service, and so forth. Acloud-computing model can also expose various service models, such as,for example, Software as a Service (“SaaS”), Platform as a Service(“PaaS”), and Infrastructure as a Service (“IaaS”). A cloud-computingmodel can also be deployed using different deployment models such asprivate cloud, community cloud, public cloud, hybrid cloud, and soforth. In this description and in the claims, a “cloud-computingenvironment” is an environment in which cloud computing is employed.

FIG. 15 illustrates, in block diagram form, an example computing device1500 (e.g., the client devices 104 a-104 n; and/or the server device(s)102; the computing devices 302, 402, 500, 700, 900, or 1000; and/or thecomputing device 1200) that may be configured to perform one or more ofthe processes described above. One will appreciate that digital imageenhancement system 110 can comprise implementations of the computingdevice 1500. As shown by FIG. 15, the computing device can comprise aprocessor 1502, memory 1504, a storage device 1506, an I/O interface1508, and a communication interface 1510. Furthermore, the computingdevice 1500 can include an input device such as a touchscreen, mouse,keyboard, etc. In certain embodiments, the computing device 1500 caninclude fewer or more components than those shown in FIG. 15. Componentsof computing device 1500 shown in FIG. 15 will now be described inadditional detail.

In particular embodiments, processor(s) 1502 includes hardware forexecuting instructions, such as those making up a computer program. Asan example, and not by way of limitation, to execute instructions,processor(s) 1502 may retrieve (or fetch) the instructions from aninternal register, an internal cache, memory 1504, or a storage device1506 and decode and execute them.

The computing device 1500 includes memory 1504, which is coupled to theprocessor(s) 1502. The memory 1504 may be used for storing data,metadata, and programs for execution by the processor(s). The memory1504 may include one or more of volatile and non-volatile memories, suchas Random-Access Memory (“RAM”), Read Only Memory (“ROM”), a solid-statedisk (“SSD”), Flash, Phase Change Memory (“PCM”), or other types of datastorage. The memory 1504 may be internal or distributed memory.

The computing device 1500 includes a storage device 1506 includesstorage for storing data or instructions. As an example, and not by wayof limitation, storage device 1506 can comprise a non-transitory storagemedium described above. The storage device 1506 may include a hard diskdrive (HDD), flash memory, a Universal Serial Bus (USB) drive or acombination of these or other storage devices.

The computing device 1500 also includes one or more input or output(“I/O”) devices/interfaces 1508, which are provided to allow a user toprovide input to (such as user strokes), receive output from, andotherwise transfer data to and from the computing device 1500. These I/Odevices/interfaces 1508 may include a mouse, keypad or a keyboard, atouch screen, camera, optical scanner, network interface, modem, otherknown I/O devices or a combination of such I/O devices/interfaces 1508.The touch screen may be activated with a writing device or a finger.

The I/O devices/interfaces 1508 may include one or more devices forpresenting output to a user, including, but not limited to, a graphicsengine, a display (e.g., a display screen), one or more output drivers(e.g., display drivers), one or more audio speakers, and one or moreaudio drivers. In certain embodiments, devices/interfaces 1508 isconfigured to provide graphical data to a display for presentation to auser. The graphical data may be representative of one or more graphicaluser interfaces and/or any other graphical content as may serve aparticular implementation.

The computing device 1500 can further include a communication interface1510. The communication interface 1510 can include hardware, software,or both. The communication interface 1510 can provide one or moreinterfaces for communication (such as, for example, packet-basedcommunication) between the computing device and one or more othercomputing devices 1500 or one or more networks. As an example, and notby way of limitation, communication interface 1510 may include a networkinterface controller (NIC) or network adapter for communicating with anEthernet or other wire-based network or a wireless NIC (WNIC) orwireless adapter for communicating with a wireless network, such as aWI-FI. The computing device 1500 can further include a bus 1512. The bus1512 can comprise hardware, software, or both that couples components ofcomputing device 1500 to each other.

In the foregoing specification, the invention has been described withreference to specific example embodiments thereof. Various embodimentsand aspects of the invention(s) are described with reference to detailsdiscussed herein, and the accompanying drawings illustrate the variousembodiments. The description above and drawings are illustrative of theinvention and are not to be construed as limiting the invention.Numerous specific details are described to provide a thoroughunderstanding of various embodiments of the present invention.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. For example, the methods described herein may beperformed with less or more steps/acts or the steps/acts may beperformed in differing orders. Additionally, the steps/acts describedherein may be repeated or performed in parallel with one another or inparallel with different instances of the same or similar steps/acts. Thescope of the invention is, therefore, indicated by the appended claimsrather than by the foregoing description. All changes that come withinthe meaning and range of equivalency of the claims are to be embracedwithin their scope.

We claim:
 1. A non-transitory computer-readable medium storinginstructions thereon that, when executed by at least one processor,cause a computing device to: select a multi-directional image editingmode from a plurality of multi-directional image editing modes, themulti-directional image editing mode comprising at least one of a colormode, a light mode, or a color curve mode; determine a first imageparameter and a second image parameter to modify from a plurality ofimage parameters based on the selected multi-directional image editingmode; receive a multi-directional touch input comprising a firstmovement in a first direction and a second movement in a seconddirection via a user interface of the computing device portraying adigital image; determine a first modification of the first imageparameter based on the first movement in the first direction; determinea second modification of the second parameter based on the secondmovement in the second direction; and generate an enhanced digital imageby making the first modification to the first image parameter and thesecond modification to the second parameter.
 2. The non-transitorycomputer-readable medium of claim 1, further comprising instructionsthat, when executed by the at least one processor, cause the computingdevice to provide for display, via the user interface of the computingdevice, the digital image and a transparent sensor indicating theselected multi-directional image editing mode.
 3. The non-transitorycomputer-readable medium of claim 2, further comprising instructionsthat, when executed by the at least one processor, cause the computingdevice to: identify pixel features of the digital image at a location ofthe digital image overlapping the transparent sensor; and determine thefirst image parameter and the second image parameter to modify from theplurality of image parameters based on the pixel features of thelocation of the digital image and the selected multi-directional imageediting mode.
 4. The non-transitory computer-readable medium of claim 1,further comprising instructions that, when executed by the at least oneprocessor, cause the computing device to select the multi-directionalimage editing mode from the plurality of multi-directional image editingmodes wherein the plurality of multi-directional image editing modescomprise the color mode, the light mode, and the color curve mode. 5.The non-transitory computer-readable medium of claim 1, furthercomprising instructions that, when executed by the at least oneprocessor, cause the computing device to select the multi-directionalimage editing mode based on user selection of the multi-directionalimage editing mode from the plurality of multi-directional image editingmodes via the user interface.
 6. The non-transitory computer-readablemedium of claim 1, further comprising instructions that, when executedby the at least one processor, cause the computing device to: providethe enhanced digital image for display via the user interface; and inresponse to receiving a user input via the user interface, transitioningfrom a display of the enhanced digital image to a display of the digitalimage prior to modification.
 7. The non-transitory computer-readablemedium of claim 6, further comprising instructions that, when executedby the at least one processor, cause the computing device to, inresponse to receiving an additional user input via the user interface,transition from the display of the digital image prior to modificationto the display of the enhanced digital image.
 8. The non-transitorycomputer-readable medium of claim 1, further comprising instructionsthat, when executed by the at least one processor, cause the computingdevice to: determine the first modification of the first image parameterbased on the first movement in the first direction by associating thefirst image parameter with a horizontal direction; and determine thesecond modification of the second parameter based on the second movementin the second direction by associating the second image parameter with avertical direction.
 9. A system comprising: a user interface; at leastone non-transitory computer-readable medium storing a digital image; andat least one processor configured to cause the system to: provide, fordisplay, via the user interface, the digital image and a transparentsensor at a location overlapping the digital image; and withoutproviding additional visual selectable control elements for displaybeyond the transparent sensor: determining one or more features ofpixels of the digital image at the location of the transparent sensor;selecting a plurality of image parameters to edit based on the one ormore features of the pixels of the digital image at the location of thetransparent sensor; receiving a multi-directional input via the userinterface; modifying the plurality of image parameters based on themulti-directional input to generate a modified digital image; andreceiving a user input via the user interface and transitioning from adisplay of the modified digital image to a display of the digital imageprior to modification.
 10. The system of claim 9, wherein the at leastone processor is further configured to cause the system to: receive anadditional user input via the user interface; and transition from thedisplay of the digital image prior to modification to the display of themodified digital image.
 11. The system of claim 9, wherein determiningthe one or more features of the pixels of the digital image at thelocation of the transparent sensor comprises determining at least one ofa color, brightness, or saturation of the pixels of the digital image atthe location of the transparent sensor.
 12. The system of claim 11,wherein selecting the plurality of image parameters to edit based on theone or more features of the pixels of the digital image at the locationof the transparent sensor comprises selecting the plurality of imageparameters to edit based on the at least one of the color, thebrightness, or the saturation of the pixels of the digital image at thelocation of the transparent sensor.
 13. The system of claim 9, whereinthe at least one processor is further configured to cause the system toprovide the transparent sensor for display with a visual indicatorwithin the transparent sensor indicating the plurality of imageparameters to edit.
 14. The system of claim 9, wherein the at least oneprocessor is further configured to cause the system to, withoutproviding additional visual selectable control elements for displaybeyond the transparent sensor: receive, based on user interaction withthe user interface, a selection of a multi-directional image editingmode from a plurality of multi-directional image editing modes; andselect the plurality of image parameters to edit based on the one ormore features of the pixels of the digital image at the location of thetransparent sensor and the multi-directional image editing mode.
 15. Acomputer-implemented method, comprising: receiving, based on userinteraction with a user interface of a client device, a selection of amulti-directional image editing mode from a plurality ofmulti-directional image editing modes, the plurality ofmulti-directional image editing modes comprising a color mode and alight mode; determining a first image parameter and a second imageparameter to modify from a plurality of image parameters based on theselected multi-directional image editing mode; receive amulti-directional touch input comprising a first movement in a firstdirection and a second movement in a second direction via the userinterface of the client device; determine a first modification of thefirst image parameter based on the first movement in the firstdirection; determine a second modification of the second parameter basedon the second movement in the second direction; and generate an enhanceddigital image by making the first modification to the first imageparameter and the second modification to the second parameter.
 16. Thecomputer-implemented method of claim 15, further comprising: receiving,based on user interaction with the user interface of the client device,a selection of an additional multi-directional image editing mode fromthe plurality of multi-directional image editing modes; and determininga third image parameter and a fourth image parameter to modify from theplurality of image parameters based on the additional multi-directionalimage editing mode.
 17. The computer-implemented method of claim 16,further comprising: providing for display, via the user interface of theclient device, the digital image and a transparent sensor indicating theselected multi-directional image editing mode; identifying pixelfeatures of the digital image at a location of the digital imageoverlapping the transparent sensor; and determining the first imageparameter and the second image parameter to modify from the plurality ofimage parameters based on the pixel features of the location of thedigital image and the selected multi-directional image editing mode. 18.The computer-implemented method of claim 17, wherein determining thepixel features of the digital image at the location comprisesdetermining at least one of a color, a brightness, or a saturation ofpixels of the digital image at the location of the digital imageoverlapping the transparent sensor, and determining the first imageparameter to modify from the plurality of image parameters based on theselected multi-directional image editing mode and the at least one ofthe color, the brightness, or the saturation of the pixels of thedigital image at the location of the digital image overlapping thetransparent sensor.
 19. The computer-implemented method of claim 15,wherein the plurality of multi-directional image editing modes furthercomprise a color curve mode, and, in response to receiving theselection, determining the first image parameter and the second imageparameter from the color curve mode.
 20. The computer-implemented methodof claim 15, further comprising: transitioning from a display of theenhanced digital image to a display of the digital image prior tomodification; and transitioning from the display of the digital imageprior to modification to the display of the enhanced digital image.